00001 #ifndef _IRawDataCnvSvc_H
00002 #define _IRawDataCnvSvc_H 1
00003
00004 #include <string>
00005 #include "GaudiKernel/IInterface.h"
00006
00014
00015
00016 class IRawDataCnvSvc : virtual public IInterface {
00017 public:
00018 class Leaf : public std::vector<Leaf*> {
00019 public:
00020 long userParameter;
00021 std::string path;
00022 std::string bank;
00023 CLID clid;
00024 Leaf(const std::string& p, const CLID& c, const std::string& b, long u)
00025 : userParameter(u), path(p), bank(b), clid(c) {}
00026 Leaf(const Leaf& copy)
00027 : std::vector<Leaf*>(0), userParameter(copy.userParameter), path(copy.path),
00028 bank(copy.bank), clid(copy.clid) {}
00029 Leaf& operator=(const Leaf& copy) {
00030 path = copy.path;
00031 bank = copy.bank;
00032 clid = copy.clid;
00033 userParameter = copy.userParameter;
00034 return *this;
00035 }
00036 bool operator==(const Leaf& copy) const {
00037 return path == copy.path &&
00038 bank == copy.bank &&
00039 clid == copy.clid &&
00040 userParameter == copy.userParameter;
00041 }
00042 };
00043
00045 virtual StatusCode declareObject(const Leaf& leaf) = 0;
00046
00047 };
00048
00049 #endif // _IRawDataCnvSvc_H
00050