1 #ifndef SERIALOBJECT_HPP 2 #define SERIALOBJECT_HPP 3 4 #include <corelib/ncbistd.hpp> 5 #include <corelib/ncbiobj.hpp> 6 #include <serial/serialbase.hpp> 7 #include <string> 8 #include <list> 9 #include <vector> 10 #include <map> 11 12 13 #ifdef HAVE_NCBI_C 14 15 struct struct_Web_Env; 16 typedef struct_Web_Env TWebEnv; 17 USING_NCBI_SCOPE; 18 19 #else 20 21 BEGIN_NCBI_SCOPE 22 BEGIN_SCOPE(objects) 23 class CWeb_Env; 24 typedef CWeb_Env TWebEnv; 25 END_SCOPE(objects) 26 END_NCBI_SCOPE 27 28 USING_NCBI_SCOPE; 29 USING_SCOPE(objects); 30 31 #endif 32 33 34 class CTestSerialObject : public CSerialObject 35 { 36 public: 37 CTestSerialObject(void); 38 virtual ~CTestSerialObject(void); 39 40 virtual void Dump(CNcbiOstream& out) const; 41 42 DECLARE_INTERNAL_TYPE_INFO(); 43 44 string m_Name; 45 bool m_HaveName; 46 string* m_NamePtr; 47 int m_Size; 48 list<string> m_Attributes; 49 vector<char> m_Data; 50 vector<short> m_Offsets; 51 map<long, string> m_Names; 52 53 CTestSerialObject* m_Next; 54 TWebEnv* m_WebEnv; 55 }; 56 57 class CTestSerialObject2 : public CTestSerialObject, public CSerialUserOp 58 { 59 public: 60 CTestSerialObject2(void); 61 62 DECLARE_INTERNAL_TYPE_INFO(); 63 64 string m_Name2; 65 protected: 66 virtual void UserOp_Assign(const CSerialUserOp& source); 67 virtual bool UserOp_Equals(const CSerialUserOp& object) const; 68 }; 69 70 #endif 71