Source code of Windows XP (NT5)
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.

114 lines
3.2 KiB

  1. // ACont.h: interface for the CAbstractContainer 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_ACONT_H)
  12. #define SLBCCI_ACONT_H
  13. #include <string>
  14. #include <slbRCObj.h>
  15. #include "slbCci.h"
  16. #include "CryptObj.h"
  17. #include "KPCont.h"
  18. namespace cci
  19. {
  20. class CAbstractContainer
  21. : public slbRefCnt::RCObject,
  22. public CCryptObject
  23. {
  24. public:
  25. // Types
  26. // C'tors/D'tors
  27. virtual
  28. ~CAbstractContainer() throw() = 0;
  29. // Operators
  30. bool
  31. operator==(CAbstractContainer const &rhs) const;
  32. // TO DO: this should be superceded by implementing singletons
  33. bool
  34. operator!=(CAbstractContainer const &rhs) const;
  35. // TO DO: this should be superceded by implementing singletons
  36. // Operations
  37. virtual
  38. void Delete();
  39. virtual void
  40. ID(std::string const &rstrID) = 0;
  41. virtual void
  42. Name(std::string const &rstrName) = 0;
  43. // Access
  44. virtual CKeyPair
  45. ExchangeKeyPair();
  46. virtual CKeyPair
  47. GetKeyPair(KeySpec ks);
  48. virtual CKeyPair
  49. SignatureKeyPair();
  50. virtual std::string
  51. ID() = 0;
  52. virtual std::string
  53. Name() = 0;
  54. // Predicates
  55. virtual bool
  56. KeyPairExists(KeySpec ks);
  57. protected:
  58. // Types
  59. // C'tors/D'tors
  60. explicit
  61. CAbstractContainer(CAbstractCard const &racard);
  62. // Operators
  63. // Operations
  64. virtual void
  65. DoDelete() = 0;
  66. // Access
  67. // Predicates
  68. virtual bool
  69. DoEquals(CAbstractContainer const &rhs) const = 0;
  70. // Variables
  71. private:
  72. // Types
  73. // C'tors/D'tors
  74. CAbstractContainer(CAbstractContainer const &rhs);
  75. // not defined, copying not allowed.
  76. // Operators
  77. CAbstractContainer &
  78. operator=(CAbstractContainer const &rhs);
  79. // not defined, initialization not allowed.
  80. // Operations
  81. // Access
  82. // Predicates
  83. // Variables
  84. };
  85. }
  86. #endif // !defined(SLBCCI_ACONT_H)