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