Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
3.2 KiB

  1. // V2Cont.h: interface for the CV2Container class.
  2. //
  3. // (c) Copyright Schlumberger Technology Corp., unpublished work, created
  4. // 1999. This computer program includes Confidential, Proprietary
  5. // Information and is a Trade Secret of Schlumberger Technology Corp. All
  6. // use, disclosure, and/or reproduction is prohibited unless authorized
  7. // in writing. All Rights Reserved.
  8. //////////////////////////////////////////////////////////////////////
  9. // Note: This file should only be included by the CCI, not directly
  10. // by the client.
  11. #if !defined(SLBCCI_V2CONT_H)
  12. #define SLBCCI_V2CONT_H
  13. #include <string>
  14. #include <memory> // for auto_ptr
  15. #include "slbCci.h"
  16. #include "cciCard.h"
  17. #include "ACont.h"
  18. namespace cci
  19. {
  20. class CV2Card;
  21. class CContainerInfoRecord;
  22. class CV2Container
  23. : public CAbstractContainer
  24. {
  25. public:
  26. // Types
  27. // C'tors/D'tors
  28. explicit
  29. CV2Container(CV2Card const &rv2card);
  30. CV2Container(CV2Card const &rv2card,
  31. SymbolID sidHandle);
  32. virtual
  33. ~CV2Container() throw();
  34. // Operators
  35. // Operations
  36. virtual void
  37. ID(std::string const &rstrID);
  38. static CV2Container *
  39. Make(CV2Card const &rv2card,
  40. SymbolID sidHandle);
  41. virtual void
  42. Name(std::string const &rstrName);
  43. // Access
  44. CContainerInfoRecord &
  45. CIR() const;
  46. SymbolID
  47. Handle() const;
  48. virtual std::string
  49. ID();
  50. virtual std::string
  51. Name();
  52. // Predicates
  53. protected:
  54. // Types
  55. // C'tors/D'tors
  56. // Operators
  57. // Operations
  58. virtual void
  59. DoDelete();
  60. // Access
  61. // Predicates
  62. virtual bool
  63. DoEquals(CAbstractContainer const &rhs) const;
  64. // Variables
  65. private:
  66. // Types
  67. // C'tors/D'tors
  68. CV2Container(CV2Container const &rhs);
  69. // not defined, copying not allowed.
  70. // Operators
  71. CV2Container &
  72. operator=(CV2Container const &rhs);
  73. // not defined, initialization not allowed.
  74. // Operations
  75. void
  76. Setup(CV2Card const &rv2card);
  77. // Access
  78. // Predicates
  79. // Variables
  80. SymbolID m_sidHandle;
  81. std::auto_ptr<CContainerInfoRecord> m_apcir;
  82. };
  83. } // namespace cci
  84. #endif // !defined(SLBCCI_V2CONT_H)