home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / ODSESSN.IDL < prev    next >
Text File  |  1995-12-13  |  5KB  |  134 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15. #ifndef _ODSESSN_
  16. #define _ODSESSN_
  17.  
  18. #ifndef _ODSESSNB_
  19. #include "ODSessnB.idl"
  20. #endif
  21.  
  22. //==============================================================================
  23. // Theory of Operation
  24. //==============================================================================
  25.  
  26. /*
  27.   This class represents the "system" calls in OpenDoc. A global function
  28.   provides initialization of the OpenDoc environment and returns a reference
  29.   to the one ODSession object. The member functions of the class
  30.   include accessors for some of the other unique classes in OpenDoc as well
  31.   as a few other system functions.
  32. */
  33.  
  34. //==============================================================================
  35. // Classes defined in this interface
  36. //==============================================================================
  37.  
  38. interface   ODSession;
  39.  
  40. //==============================================================================
  41. // Classes used by this interface
  42. //==============================================================================
  43.  
  44. #ifdef _PLATFORM_OS2_
  45. #pragma somemittypes on
  46.    typedef unsigned long ODPlatformWindowCreateOptions;
  47.    const ODPlatformWindowCreateOptions ODPlatformWindowDefaultCreateOptions = 0x0000783F;
  48.                                     // FCF_STANDARD & ~FCF_SHELLPOSITION & ~ FCF_ACCELTABLE
  49. #pragma somemittypes off
  50.    interface ODPerWindowFocusModule;
  51.    interface ODStatusLineExtension;
  52.    interface IODLinkService;
  53.    interface ODHelp;
  54.    typedef somToken SWP;
  55.    typedef somToken TID;
  56. #endif // _PLATFORM_OS2_
  57.  
  58. //==============================================================================
  59. // ODSession
  60. //==============================================================================
  61.  
  62. interface ODSession :  ODBaseSession
  63. {
  64.    void  InitSession();
  65.    void GetUserName(out ODIText name);        
  66.  
  67. #ifdef _PLATFORM_OS2_  /******** strom@watson ********/
  68.  
  69.   void  InitAvailServerSession (
  70.           in string alias /* public name of this availability server */
  71.         ); // Called in place of InitSession
  72.   IODLinkService GetLinkService(); // public method to get link service
  73. #endif //_PLATFORM_OS2_
  74.  
  75.    ODUpdateID UniqueUpdateID();
  76.  
  77. #ifdef _PLATFORM_OS2_  // JSO
  78.   //---------------------------------
  79.   // Virtual functions
  80.  
  81.   ODPlatformWindow CreatePlatformWindow( in ODPlatformWindowCreateOptions options );
  82.   ODHelp GetHelp();
  83. #endif // _PLATFORM_OS2_
  84.  
  85. #ifdef __SOMIDL__
  86.         implementation
  87.         {
  88.         functionprefix = ODSession;
  89.         override:
  90.                 somInit,
  91.                 somUninit,
  92.       Purge;
  93.  
  94.     releaseorder:
  95.         UniqueUpdateID,
  96.         GetUserName,
  97. #ifndef _PLATFORM_OS2_ // CED
  98.     InitSession;
  99. #else
  100.         InitSession,
  101.         CreatePlatformWindow,
  102.         GetHelp,
  103.         InitAvailServerSession,
  104.         GetLinkService,
  105.         reserved1,
  106.         reserved2,
  107.         reserved3,
  108.         reserved4;
  109. #endif // ! _PLATFORM_OS2_
  110.  
  111. #ifdef _PLATFORM_OS2_
  112.         passthru C_xih = " "
  113.                          "#define INCL_ERRORS"
  114.                          "#define INCL_WIN"
  115.                          "#define INCL_DOS"
  116.                          "#include <os2.h> ";
  117.         passthru C_xh = " "
  118.                         "#define INCL_ERRORS"
  119.                         "#define INCL_WIN"
  120.                         "#define INCL_DOS"
  121.                         "#include <os2.h> ";
  122.         passthru C_hh = " "
  123.                         "#define INCL_ERRORS"
  124.                         "#define INCL_WIN"
  125.                         "#define INCL_DOS"
  126.                         "#include <os2.h> ";
  127. #endif // _PLATFORM_OS2_
  128.  
  129.   };
  130. #endif
  131. };
  132.  
  133. #endif // _ODSESSN_
  134.