+++ /dev/null
-#pragma once
-/******************************************************************************
-*
-* Copyright (c) 2019 AT&T Intellectual Property.
-* Copyright (c) 2018-2019 Nokia.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-******************************************************************************/
-
-// Standard Includes: ANSI C/C++, MSA, and Third-Party Libraries
-
-// Local Includes: Application specific classes, functions, and libraries
-
-namespace asn {
-namespace ber {
-
-/***************************************************************************************
-* OpenType
-***************************************************************************************/
-struct OpenType
-{
- static tag_value_t decode(DecoderCtx& ctx, size_t& length, tag_value_t const* tag_ptr = nullptr)
- {
- auto & buffer = ctx.refBuffer();
- tag_value_t tag = tag_ptr ? *tag_ptr : get_tag(ctx);
- length = Length::decode(ctx);
-
- if(!length)
- {
- //just return
- }
- else if(length == indefinite_length)
- {
- tag_value_t _tag;
- size_t _length;
- do
- {
- _tag = OpenType::decode(ctx, _length);
-
- } while(ctx && !(_tag == 0 && _length == 0));
- }
- else
- {
- if (buffer.getBytesLeft() < length)
- {
- ctx.refErrorCtx().lengthErrorBytes(buffer.getBytesLeft(), length);
- }
- else
- {
- size_t _length;
- DecoderCtx::buf_type::pointer end = buffer.end();
- buffer.set_end(buffer.begin() + length);
- decode(ctx, _length);
- buffer.set_end(end);
- }
- }
- return tag;
- }
-};
-
-} //namespace ber
-} //namespace asn
\ No newline at end of file