home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / mtshlpr.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  2KB  |  51 lines

  1. ////////////////////////////////////////////////////////////////////////////
  2. // MTSHLPR.H - MTS wrapper class
  3. //
  4. // MTS and COM+ expose functions with similar signatures that are implemented
  5. // in different DLLs. For an object to work correctly under both, it needs
  6. // to dynamically load the appropriate DLL and call the underlying function.
  7. //
  8. // This class wraps those functions, hiding the work, and presenting an
  9. // interface which will work against either platform.
  10. //
  11. // $Revision:   1.0.1.2  $
  12. // $Date:   16 Dec 1999 18:44:22  $
  13. //
  14. // Copyright (c) 1999, 2000 Borland International
  15. ///////////////////////////////////////////////////////////////////////////
  16.  
  17. #ifndef _MTSHLPR_H
  18. #define _MTSHLPR_H
  19.  
  20. #include <comsvcs.h>  // IObjectContext
  21. #include <utilcls.h>
  22.  
  23. /* Wrapper class for the loading of MTS or COM+ */
  24.  
  25. class TMtsDll
  26. {
  27.     private:
  28.        TDll* Library;
  29.        int Type;
  30.        bool init_com();
  31.        bool init_mts();
  32.     public:
  33.        TMtsDll();
  34.        ~TMtsDll();
  35.        HRESULT Get_ObjectContext(IObjectContext** pIntanceContext);
  36.  
  37.        void* SafeRef(REFIID rid, IUnknown* pUnknown);
  38. };
  39.  
  40. /* Static instantiations of enumerative values passed to MTS-related
  41.  * methods. These methods require long pointers to these values,
  42.  * which are defined in enumerations in mtxspm.h (in previous
  43.  * versions of the Windows header files) or comsvcs.h (now)*/
  44.  
  45. extern "C" long LockMode_SetGet;
  46. extern "C" long LockMode_LockMethod;
  47. extern "C" long ReleaseMode_Standard;
  48. extern "C" long ReleaseMode_Process;
  49.  
  50. #endif
  51.