initial commit for github

This commit is contained in:
Pierre 2019-12-12 14:41:47 +01:00
commit 60968612de
370 changed files with 68427 additions and 0 deletions

View file

@ -0,0 +1,27 @@
/**
* @file
* Implementation of the ADTF default media description.
*
* @copyright
* @verbatim
Copyright @ 2017 Audi Electronics Venture GmbH. All rights reserved.
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then
You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
@endverbatim
*/
#ifndef _DDL_SERIALIZATION_PKG_HEADER_
#define _DDL_SERIALIZATION_PKG_HEADER_
#include "serialization.h"
#endif

View file

@ -0,0 +1,55 @@
/**
* @file
* Implementation of the ADTF default media description.
* @copyright
* @verbatim
Copyright @ 2017 Audi Electronics Venture GmbH. All rights reserved.
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then
You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
@endverbatim
*/
#include "serialization.h"
#include "a_util/result/error_def.h"
namespace ddl
{
namespace serialization
{
//define all needed error types and values locally
_MAKE_RESULT(-12, ERR_MEMORY)
a_util::result::Result transform_to_buffer(const Decoder& decoder, a_util::memory::MemoryBuffer& buffer, bool zero)
{
DataRepresentation target_rep = decoder.getRepresentation() == deserialized ?
serialized :
deserialized;
size_t needed_size = decoder.getBufferSize(target_rep);
if (buffer.getSize() < needed_size)
{
if (!buffer.allocate(needed_size))
{
return ERR_MEMORY;
}
}
if (zero)
{
a_util::memory::set(buffer.getPtr(), buffer.getSize(), 0, buffer.getSize());
}
Codec codec = decoder.makeCodecFor(buffer.getPtr(), buffer.getSize(), target_rep);
return transform(decoder, codec);
}
}
}

View file

@ -0,0 +1,80 @@
/**
* @file
* Implementation of the ADTF default media description.
*
* @copyright
* @verbatim
Copyright @ 2017 Audi Electronics Venture GmbH. All rights reserved.
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then
You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
@endverbatim
*/
#ifndef DDL_SERIALIZER_CLASS_HEADER
#define DDL_SERIALIZER_CLASS_HEADER
#include <assert.h>
#include "a_util/result.h"
#include "codec/codec.h"
namespace ddl
{
namespace serialization
{
/**
* Copies all elements from a decoder to a codec
* @param[in] decoder The source decoder.
* @param[out] encoder The destination codec.
* @return Standard result.
*/
template <typename DECODER, typename ENCODER>
a_util::result::Result transform(const DECODER& decoder, ENCODER& encoder)
{
size_t element_count = decoder.getElementCount();
assert(element_count == encoder.getElementCount());
for (size_t element = 0; element < element_count; ++element)
{
uint64_t buffer = 0;
a_util::result::Result result = decoder.getElementValue(element, &buffer);
if (a_util::result::isFailed(result))
{
return result;
}
result = encoder.setElementValue(element, &buffer);
if (a_util::result::isFailed(result))
{
return result;
}
}
return a_util::result::SUCCESS;
}
/**
* Tranforms the data from a given decoder into the opposite data representation.
* Allocates the buffer accordingly.
* @param[in] decoder The source decoder.
* @param[out] buffer The destination buffer object.
* @param[in] zero Whether or not to memzero the buffer before writing the elements to it.
* @return Standard result.
*/
a_util::result::Result transform_to_buffer(const Decoder& decoder, a_util::memory::MemoryBuffer& buffer, bool zero = false);
}
}
#endif

View file

@ -0,0 +1,14 @@
set(SERIALIZATION_DIR serialization)
set(SERIALIZATION_H
${SERIALIZATION_DIR}/pkg_serialization.h
${SERIALIZATION_DIR}/serialization.h
)
set(SERIALIZATION_CPP
${SERIALIZATION_DIR}/serialization.cpp
)
set(SERIALIZATION_INSTALL ${SERIALIZATION_H})
source_group(${SERIALIZATION_DIR} FILES ${SERIALIZATION_H} ${SERIALIZATION_CPP})