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.

134 lines
3.8 KiB

  1. // ACert.h: interface for the CAbstractCertificate 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_ACERT_H)
  12. #define SLBCCI_ACERT_H
  13. #include <string>
  14. #include <slbRCObj.h>
  15. #include <iop.h>
  16. #include "AZipValue.h"
  17. namespace cci
  18. {
  19. class CAbstractCertificate
  20. : public slbRefCnt::RCObject,
  21. public CAbstractZipValue
  22. {
  23. public:
  24. // Types
  25. // C'tors/D'tors
  26. virtual
  27. ~CAbstractCertificate() = 0;
  28. // Operators
  29. bool
  30. operator==(CAbstractCertificate const &rhs) const;
  31. // TO DO: this should be superceded by implementing singletons
  32. bool
  33. operator!=(CAbstractCertificate const &rhs) const;
  34. // TO DO: this should be superceded by implementing singletons
  35. // Operations
  36. virtual void
  37. CredentialID(std::string const &rstrCredId) = 0;
  38. void
  39. Delete();
  40. virtual void
  41. ID(std::string const &rstrId) = 0;
  42. virtual void
  43. Issuer(std::string const &rstrIssuer) = 0;
  44. virtual void
  45. Label(std::string const &rstrLabel) = 0;
  46. virtual void
  47. Subject(std::string const &rstrSubject) = 0;
  48. virtual void
  49. Modifiable(bool flag) = 0;
  50. virtual void
  51. Serial(std::string const &rstrSerialNumber) = 0;
  52. // Access
  53. virtual std::string
  54. CredentialID() = 0;
  55. virtual std::string
  56. ID() = 0;
  57. virtual std::string
  58. Issuer() = 0;
  59. virtual std::string
  60. Label() = 0;
  61. virtual bool
  62. Modifiable() = 0;
  63. virtual std::string
  64. Serial() = 0;
  65. virtual std::string
  66. Subject() = 0;
  67. // Predicates
  68. protected:
  69. // Types
  70. // C'tors/D'tors
  71. CAbstractCertificate(CAbstractCard const &racard,
  72. ObjectAccess oa,
  73. bool fAlwaysZip = false);
  74. // Operators
  75. // Operations
  76. virtual void
  77. DoDelete() = 0;
  78. // Access
  79. // Predicates
  80. virtual bool
  81. DoEquals(CAbstractCertificate const &rcert) const = 0;
  82. // TO DO: this should be superceded by implementing singletons
  83. // Variables
  84. private:
  85. // Types
  86. // C'tors/D'tors
  87. CAbstractCertificate(CAbstractCertificate const &rhs);
  88. // not defined, copying not allowed.
  89. // Operators
  90. CAbstractCertificate &
  91. operator=(CAbstractCertificate const &rhs);
  92. // not defined, initialization not allowed.
  93. // Operations
  94. // Access
  95. // Predicates
  96. // Variables
  97. };
  98. }
  99. #endif // !defined(SLBCCI_ACERT_H)