home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / idsmcbs.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.7 KB  |  154 lines

  1. #ifndef _IDSMCBS_HPP_
  2. #define _IDSMCBS_HPP_
  3.  
  4. /*******************************************************************************
  5. * FILE NAME: idsmcbs.hpp                                                       *
  6. *                                                                              *
  7. * DESCRIPTION:                                                                 *
  8. *     IDatastoreBase - Manage a datastore connection.                          *
  9. *                                                                              *
  10. *******************************************************************************/
  11.  
  12. /***********************************************
  13.  
  14.     Licensed Materials - Property of IBM
  15.  
  16.     5622-880   5801-AAR
  17.  
  18.     (c) Copyright IBM Corp 1991, 1996.
  19.  
  20. ************************************************/
  21.  
  22. #ifndef __TOS_WIN__
  23.  #ifndef DAX_IMPORTEXPORT
  24.    #define DAX_IMPORTEXPORT _Export
  25.  #endif
  26. #else
  27.  #ifndef DAX_IMPORTEXPORT
  28.    #define DAX_IMPORTEXPORT _Import
  29.  #endif
  30. #endif
  31.  
  32. #include <istring.hpp>
  33. #include <istdntfy.hpp>
  34. #include <idsexc.hpp>
  35.  
  36. #pragma pack(4)
  37.  
  38. #ifndef __TOS_WIN__
  39.  #ifndef __NO_DEFAULT_LIBS__
  40.    #ifdef __IMPORTLIB__
  41.       #pragma library("CPPOAS3I.LIB")
  42.    #else
  43.       #pragma library("CPPOAS3.LIB")
  44.    #endif
  45.  #endif
  46. #else
  47.  #ifndef __NO_DEFAULT_LIBS__
  48.    #ifdef __IMPORTLIB__
  49.       #pragma library("CPPWAS3I.LIB")
  50.    #else
  51.       #pragma library("CPPWAS3.LIB")
  52.    #endif
  53.  #endif
  54. #endif
  55.  
  56. class DAX_IMPORTEXPORT IDatastoreBase : public IStandardNotifier
  57. {
  58.  
  59. friend class IDatastore;
  60. friend class IDatastoreDB2;
  61. friend class IDatastoreODBC;
  62.  
  63. public:
  64.  
  65. virtual ~IDatastoreBase();
  66.  
  67. virtual IDatastoreBase&
  68.    connect ();
  69.  
  70. virtual IDatastoreBase&
  71.    connect ( const char* userName,
  72.              const char* authentication);
  73.  
  74. virtual IDatastoreBase&
  75.    connect ( const char* datastoreName);
  76.  
  77. virtual IDatastoreBase&
  78.     connect ( const char* datastoreName,
  79.               const char* userName,
  80.               const char* authentication );
  81.  
  82. virtual IDatastoreBase&
  83.    disconnect ();
  84.  
  85. virtual IDatastoreBase&
  86.    commit ();
  87.  
  88. virtual IDatastoreBase&
  89.    rollback ();
  90.  
  91. virtual Boolean
  92.    isConnected ();
  93.  
  94. virtual IString
  95.    asString() const;
  96.  
  97. virtual IString
  98.    datastoreName() const;
  99.  
  100. virtual IDatastoreBase&
  101.    setDatastoreName(const char* aDatastoreName);
  102.  
  103. virtual IString
  104.    userName() const;
  105.  
  106. virtual IDatastoreBase&
  107.    setUserName(const char* aUserName);
  108.  
  109. virtual IString
  110.    authentication() const;
  111.  
  112. virtual IDatastoreBase&
  113.    setAuthentication(const char* aAuthentication);
  114.  
  115. virtual IDatastoreBase&
  116.    executeSQL(const char* aCmd);
  117.  
  118. static const INotificationId DatastoreNameId;
  119. static const INotificationId UserNameId;
  120. static const INotificationId AuthenticationId;
  121. static const INotificationId isConnectedId;
  122. static const INotificationId connectedId;
  123. static const INotificationId disconnectedId;
  124. static const INotificationId transactedId;
  125.  
  126. protected:
  127. /*--------------------------------- PROTECTED --------------------------------*/
  128.   IDatastoreBase();
  129.   IDatastoreBase( const char* datastoreName );
  130.   IDatastoreBase( const char* datastoreName,
  131.                   const char* userName,
  132.                   const char* authentication);
  133.  
  134. private:
  135. /*--------------------------------- PRIVATE ----------------------------------*/
  136.  
  137.   // notify observers about connect state changes
  138.   void NotifyAboutConnectState ( Boolean ConnectState );
  139.   class IDatastoreMgrPrivateClient* pDatastoreMgrClient;
  140.   class IUserEnvironment* pUserEnvironment;
  141.   class IDatastoreConnection* pDatastoreConnection;
  142.   virtual IString type() = 0;
  143.  
  144.   IString iDatastoreName;
  145.   IString iUserName;
  146.   IString iAuthentication;
  147.   IString iType;
  148.  
  149. };
  150.  
  151. #pragma pack()
  152.  
  153. #endif /* _IDSMCBS_HPP_ */
  154.