Program Listing for File process_serdes.h#

Return to documentation for file (interfaces\serdes\process_serdes.h)

#ifndef __IDL_GENERATED__PROCESS_SERDES_H__20251008_120503_566__
#define __IDL_GENERATED__PROCESS_SERDES_H__20251008_120503_566__

// 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 "../process.h"

#include "core_serdes.h"

// Serializer / deserializer namespace
namespace serdes
{
    template <>
    class CSerdes<sdv::process::EProcessRights>
    {
    public:
        static void CalcSize(const sdv::process::EProcessRights& rVar, size_t& rnSize)
        {

            // Calculating the size of EProcessRights
            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::process::EProcessRights& rVar)
        {
            // Serializing members of EProcessRights
            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::process::EProcessRights& rVar)
        {
            // Deserializing members of EProcessRights
            uint32_t base = 0;
            rDeserializer >> base;
            rVar = static_cast<sdv::process::EProcessRights>(base);
            return rDeserializer;
        }
    };
} // serdes namespace

#endif // !defined(__IDL_GENERATED__PROCESS_SERDES_H__20251008_120503_566__)