Program Listing for File repository_serdes.h#
↰ Return to documentation for file (interfaces\serdes\repository_serdes.h
)
#ifndef __IDL_GENERATED__REPOSITORY_SERDES_H__20251008_120503_672__
#define __IDL_GENERATED__REPOSITORY_SERDES_H__20251008_120503_672__
// Includes...
#include <cstdint>
#include <support/serdes.h>
#include <support/local_service_access.h>
#include <interfaces/com.h>
#include <interfaces/serdes/core_ps_serdes.h>
#include "../repository.h"
#include "core_serdes.h"
#include "module_serdes.h"
// Serializer / deserializer namespace
namespace serdes
{
template <>
class CSerdes<sdv::core::IObjectAccess*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::IObjectAccess* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::IObjectAccess* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::IObjectAccess>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::IObjectAccess*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::IObjectAccess>();
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::EObjectInfoFlags>
{
public:
static void CalcSize(const sdv::core::EObjectInfoFlags& rVar, size_t& rnSize)
{
// Calculating the size of EObjectInfoFlags
sdv::ser_size(static_cast<uint32_t>(rVar), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, const sdv::core::EObjectInfoFlags& rVar)
{
// Serializing members of EObjectInfoFlags
rSerializer << static_cast<uint32_t>(rVar);
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::EObjectInfoFlags& rVar)
{
// Deserializing members of EObjectInfoFlags
uint32_t base = 0;
rDeserializer >> base;
rVar = static_cast<sdv::core::EObjectInfoFlags>(base);
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::SObjectInfo>
{
public:
static void CalcSize(const sdv::core::SObjectInfo& rVar, size_t& rnSize)
{
// Calculating the size of SObjectInfo
sdv::ser_size(rVar.tObjectID, rnSize);
sdv::ser_size(rVar.tModuleID, rnSize);
sdv::ser_size(rVar.sClassInfo, rnSize);
sdv::ser_size(rVar.ssObjectName, rnSize);
sdv::ser_size(rVar.ssObjectConfig, rnSize);
sdv::ser_size(rVar.uiFlags, rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, const sdv::core::SObjectInfo& rVar)
{
// Serializing members of SObjectInfo
rSerializer << rVar.tObjectID;
rSerializer << rVar.tModuleID;
rSerializer << rVar.sClassInfo;
rSerializer << rVar.ssObjectName;
rSerializer << rVar.ssObjectConfig;
rSerializer << rVar.uiFlags;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::SObjectInfo& rVar)
{
// Deserializing members of SObjectInfo
rDeserializer >> rVar.tObjectID;
rDeserializer >> rVar.tModuleID;
rDeserializer >> rVar.sClassInfo;
rDeserializer >> rVar.ssObjectName;
rDeserializer >> rVar.ssObjectConfig;
rDeserializer >> rVar.uiFlags;
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::IRepositoryInfo*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::IRepositoryInfo* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::IRepositoryInfo* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::IRepositoryInfo>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::IRepositoryInfo*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::IRepositoryInfo>();
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::IRepositoryControl*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::IRepositoryControl* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::IRepositoryControl* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::IRepositoryControl>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::IRepositoryControl*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::IRepositoryControl>();
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::IRepositoryUtilityCreate*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::IRepositoryUtilityCreate* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::IRepositoryUtilityCreate* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::IRepositoryUtilityCreate>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::IRepositoryUtilityCreate*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::IRepositoryUtilityCreate>();
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::IRegisterForeignObject*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::IRegisterForeignObject* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::IRegisterForeignObject* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::IRegisterForeignObject>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::IRegisterForeignObject*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::IRegisterForeignObject>();
return rDeserializer;
}
};
template <>
class CSerdes<sdv::core::ILinkCoreRepository*>
{
public:
static void CalcSize([[maybe_unused]] sdv::core::ILinkCoreRepository* pInterface, size_t& rnSize)
{
sdv::ser_size(sdv::interface_id(), rnSize);
sdv::ser_size(sdv::ps::TMarshallID(), rnSize);
}
template <sdv::EEndian eTargetEndianess, typename TCRC>
static sdv::serializer<eTargetEndianess, TCRC>& Serialize(sdv::serializer<eTargetEndianess, TCRC>& rSerializer, sdv::core::ILinkCoreRepository* pInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Serialize the interface ID first
rSerializer << sdv::GetInterfaceId<sdv::core::ILinkCoreRepository>();
// Create and serialize a stub object for the interface.
sdv::ps::TMarshallID tStubID = pMarshallAccess->GetStub(pInterface);
rSerializer << tStubID;
return rSerializer;
}
template <sdv::EEndian eSourceEndianess, typename TCRC>
static sdv::deserializer<eSourceEndianess, TCRC>& Deserialize(sdv::deserializer<eSourceEndianess, TCRC>& rDeserializer, sdv::core::ILinkCoreRepository*& rpInterface)
{
// Get interface to the component isolation service.
auto ptrComControl = sdv::core::GetObject("CommunicationControl");
if (!ptrComControl) throw sdv::ps::XMarshallNotInitialized{};
sdv::ps::IMarshallAccess* pMarshallAccess = ptrComControl.GetInterface<sdv::ps::IMarshallAccess>();
if (!pMarshallAccess) throw sdv::ps::XMarshallNotInitialized{};
// Get the interface ID
sdv::interface_id id = 0;
rDeserializer >> id;
// Get the stub ID
sdv::ps::TMarshallID tStubID{};
rDeserializer >> tStubID;
// Create the proxy
rpInterface = pMarshallAccess->GetProxy(tStubID, id).get<sdv::core::ILinkCoreRepository>();
return rDeserializer;
}
};
} // serdes namespace
#endif // !defined(__IDL_GENERATED__REPOSITORY_SERDES_H__20251008_120503_674__)