ATLAS Offline Software
Loading...
Searching...
No Matches
IAthenaSerializeSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATHENAKERNEL_IATHENASERIALIZESVC_H
6#define ATHENAKERNEL_IATHENASERIALIZESVC_H
7
8#include "GaudiKernel/IService.h"
10
11class Guid;
12
13class IAthenaSerializeSvc : virtual public ::IService {
14public:
16
17 virtual void* serialize(const void* object, const std::string& name, size_t& nbytes) const = 0;
18 virtual void* serialize(const void* object, const Guid& id, size_t& nbytes) const = 0;
19 virtual void* serialize(const void* object, const RootType& cltype, size_t& nbytes) const = 0;
20
21 virtual void* deserialize(void* buffer, size_t& nbytes, const std::string& name) const = 0;
22 virtual void* deserialize(void* buffer, size_t& nbytes, const Guid& id) const = 0;
23 virtual void* deserialize(void* buffer, size_t& nbytes, const RootType& cltype) const = 0;
24};
25
26#endif
TTypeAdapter RootType
Definition RootType.h:211
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition Guid.h:25
virtual void * serialize(const void *object, const Guid &id, size_t &nbytes) const =0
virtual void * deserialize(void *buffer, size_t &nbytes, const std::string &name) const =0
virtual void * deserialize(void *buffer, size_t &nbytes, const Guid &id) const =0
virtual void * serialize(const void *object, const std::string &name, size_t &nbytes) const =0
DeclareInterfaceID(IAthenaSerializeSvc, 1, 0)
virtual void * deserialize(void *buffer, size_t &nbytes, const RootType &cltype) const =0
virtual void * serialize(const void *object, const RootType &cltype, size_t &nbytes) const =0