serialobject.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:1k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: serialobject.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 17:58:39  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.19
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef SERIALOBJECT_HPP
  10. #define SERIALOBJECT_HPP
  11. #include <corelib/ncbistd.hpp>
  12. #include <corelib/ncbiobj.hpp>
  13. #include <serial/serialbase.hpp>
  14. #include <string>
  15. #include <list>
  16. #include <vector>
  17. #include <map>
  18. #ifdef HAVE_NCBI_C
  19. struct struct_Web_Env;
  20. typedef struct_Web_Env TWebEnv;
  21. #else
  22. class CWeb_Env;
  23. typedef CWeb_Env TWebEnv;
  24. #endif
  25. USING_NCBI_SCOPE;
  26. class CTestSerialObject : public CSerialObject
  27. {
  28. public:
  29.     CTestSerialObject(void);
  30.     virtual ~CTestSerialObject(void);
  31.     virtual void Dump(CNcbiOstream& out) const;
  32.     DECLARE_INTERNAL_TYPE_INFO();
  33.     string m_Name;
  34.     bool m_HaveName;
  35.     string* m_NamePtr;
  36.     int m_Size;
  37.     list<string> m_Attributes;
  38.     vector<char> m_Data;
  39.     vector<short> m_Offsets;
  40.     map<long, string> m_Names;
  41.     
  42.     CTestSerialObject* m_Next;
  43.     TWebEnv* m_WebEnv;
  44. };
  45. class CTestSerialObject2 : public CTestSerialObject, public CSerialUserOp
  46. {
  47. public:
  48.     CTestSerialObject2(void);
  49.     DECLARE_INTERNAL_TYPE_INFO();
  50.     string m_Name2;
  51. protected:
  52.     virtual void UserOp_Assign(const CSerialUserOp& source);
  53.     virtual bool UserOp_Equals(const CSerialUserOp& object) const;
  54. };
  55. #endif