home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / WPPRINT.IDL < prev    next >
Text File  |  1995-11-08  |  8KB  |  243 lines

  1.  
  2. //  Module Header
  3. //
  4. //  Module Name: WPPRINT
  5. //
  6. //  OS/2 Presentation Manager Workplace class definitions
  7. //
  8. //  Copyright (c) International Business Machines Corporation 1991, 1992
  9. //
  10. // Change History:
  11. //
  12. // Date:    Change:                                Developer: Tag:     DCR/PTR
  13. // 05/24/95 Store split bar location for details   PatD       @SPLIT
  14.  
  15. #ifndef wpprint_idl
  16. #define wpprint_idl
  17.  
  18. #include "wpabs.idl"
  19. #include <somcls.idl>
  20. #include <wprttype.idl>                                                //@WPSOM2
  21.  
  22. interface M_WPPrinter;
  23.  
  24. interface WPPrinter : WPAbstract
  25.  
  26. //
  27. // CLASS: WPPrinter
  28. //
  29. // CLASS HIERARCHY:
  30. //    SOMObject
  31. //      └── WPObject
  32. //            └── WPAbstract
  33. //                  └── WPPrinter
  34. //
  35. // DESCRIPTION:
  36. //    This is the print destination object class.
  37. //    An instance of this class can be created as a Workplace object.
  38. //    An instance of this class is created initially by the system in
  39. //    its template form.  It has the title "Create print destination"
  40. //    and resides in the "Templates" folder.  Instances of this class
  41. //    are also created initially by the system for each print destination
  42. //    configured.  Each instance will have a title corresponding to the
  43. //    description of the configured queue and printer and will reside on
  44. //    the desktop.
  45. //
  46.  
  47. {
  48.   BOOL wpDeleteAllJobs();
  49.   BOOL wpHoldPrinter();
  50.   BOOL wpReleasePrinter();
  51.   ULONG wpQueryComputerName(in PSZ pszComputerName);
  52.   BOOL wpQueryPrinterName(in PSZ pszPrinterName);
  53.   BOOL wpSetComputerName(in PSZ pszComputerName);
  54.   BOOL wpSetPrinterName(in PSZ pszPrinterName);
  55.   BOOL wpSetDefaultPrinter();
  56.  
  57.   //85254 Added next 7 methods for @85254
  58.  
  59.   BOOL  wpSetQueueOptions(in ULONG ulOptions);
  60.   ULONG wpQueryQueueOptions();
  61.   BOOL  wpSetRemoteOptions(in ULONG ulRefreshInterval, in ULONG flAllJobs);
  62.   BOOL  wpQueryRemoteOptions(in PULONG pulRefreshInterval,in PULONG pflAllJobs);
  63.   BOOL  wpJobAdded(in ULONG ulJobId);
  64.   BOOL  wpJobChanged(in ULONG ulJobId, in ULONG ulField);
  65.   BOOL  wpJobDeleted(in ULONG ulJobId);
  66.  
  67.  
  68. #ifdef __SOMIDL__
  69.   implementation {
  70.  
  71.     releaseorder: pdvNew,pdvOpen,pdvPrintDestType,pdvQueueName,pdvComputerName,
  72.                   pdvSetViewStatus,pdvSetDialogPrintFlag,pdvIsDialogPrintOn,
  73.                   pdvGetJobFolderhWnd,pdvSetPrintDestType,pdvSetQueueName,
  74.                   pdvSetComputerName,pdvSetTitle,pdvHoldQueue,pdvReleaseQueue,
  75.                   pdvChangeQueue,pdvAddJob,pdvDeleteJob,pdvDeleteAllJob,
  76.                   pdvHoldJob,pdvReleaseJob,pdvChangeJob,pdvHasThisPort,
  77.                   pdvHasThisPDriver,pdvHasThisQDriver,pdvGetQueueObject,
  78.                   pdvGetCountryData,pdvSetCountryData,pdvGetJobDetailTable,
  79.                   pdvGetJobFieldInfo,pdvPrintPD,pdvFreePrintDest,pdvNewRemote,
  80.                   pdvCopyRemote,pdvCapabilities,pdvSetCapabilities,
  81.                   pdvLogonName,pdvSetLogonName,pdvLocalPrintDriverOnly,
  82.                   pdvSetLocalPrintDriverOnly,pdvRemotePDriverList,
  83.                   pdvSetRemotePDriverList,pdvPrintSpecificFormat,pdvSetPrintSpecificFormat,
  84.                   pdvRemoteAdminCopy,pdvRemoteAdminCreate,pdvRemoteAdminDelete,
  85.                   pdvAddJobViewer,pdvDelJobViewer,pdvTimerTicks,pdvSetTimerTicks,
  86.                   wpDeleteAllJobs,wpHoldPrinter,wpReleasePrinter,wpQueryComputerName,
  87.                   wpQueryPrinterName,wpSetComputerName,wpSetPrinterName,
  88.                   wpSetDefaultPrinter,pdvSetLSAlias,pdvLSAlias,pdvLocalAlias,
  89.                   pdvSetLocalAlias,pdvRemoteJobView,pdvSetRemoteData,
  90.                   pdvCopy,pdvSetJobDetailTable,pdvGetQueueStatusLine,
  91.                   pdvSetQueueStatusLine,pdvGetNewDlg,pdvSetNewDlg,
  92.                   pdvGetLastRefreshTime,pdvSetLastRefreshTime,
  93.                   wpSetQueueOptions, wpQueryQueueOptions,
  94.                   wpSetRemoteOptions, wpQueryRemoteOptions,
  95.                   wpJobAdded, wpJobChanged, wpJobDeleted,
  96.                   pdvSetPrinterStatusLine, pdvGetPrinterStatusLine,
  97.                   pdvQueryXSplitBarDetail, pdvSetXSplitBarDetail;
  98.  
  99.                   //@85254 -- Added wpSetQueueOptions,...,wpJobDeleted
  100.                   //@BIDI  -- Added pdvSet/GetPrinterStatusLine
  101.                   //@SPLIT -- Added pdvSet/QueryXSplitBarDetail
  102.  
  103.     externalstem = WPprint;
  104.     local;
  105.     externalprefix = pdv_;
  106.     majorversion = 1;
  107.     minorversion = 1;
  108.     filestem = wpprint;
  109.     metaclass = M_WPPrinter;
  110.     callstyle = oidl;
  111.  
  112.     passthru C_ih =     ""
  113. "#define WPPRINT_VERSION_MAJOR  1"
  114. "#define WPPRINT_VERSION_MINOR  1"
  115. " "
  116. "#define PRTDEST_STRING_TYPE               1"
  117. "#define PRTDEST_PDNAME_LEN                2"
  118. "#define PRTDEST_PDNAME_STRING             3"
  119. "#define PRTDEST_COMPUTERNAME_LEN          4"
  120. "#define PRTDEST_COMPUTERNAME_STRING       5"
  121. "#define PRTDEST_COMMENT_LEN               6"
  122. "#define PRTDEST_COMMENT_STRING            7"
  123. "        //"
  124. "        // 8 UNUSED NOW    @85254"
  125. "        //"
  126. "#define PRTDEST_VIEW_STATUS               8"
  127. "#define PRTDEST_DLG_PRINT                 9"
  128. "#define PRTDEST_REFRESH                   10"
  129. "#define PRTDEST_ALLJOBS                   11"
  130. "#define PRTDEST_ALIASNAME_LEN             12"
  131. "#define PRTDEST_ALIASNAME_STRING          13"
  132. "#define PRTDEST_LOCALPRINTDRIVERONLY      14"
  133. "        //"
  134. "        // 15 UNUSED NOW   @85254"
  135. "        //"
  136. "#define PRTDEST_PRINTSPECIFICFORMAT       15"
  137. "#define PRTDEST_REMOTEPDRIVERLIST         16"
  138. "#define PRTDEST_XSPLITBARDETAIL           17"
  139. " "
  140. "HMODULE  hmod;"
  141. "";
  142.  
  143. passthru  C_h =
  144. ""
  145. "/*"
  146. " * Passthru flags for QueueOptions methods"
  147. " */"
  148. ""
  149. "#define PO_PRINTERSPECIFICFORMAT     0x00000001"
  150. "#define PO_PRINTWHILESPOOLING        0x00000002"
  151. "#define PO_APPDEFAULT                0x00000004"
  152. "#define PO_JOBDIALOGBEFOREPRINT      0x00010000"
  153. ""
  154. "/*"
  155. " * _wpJobChanged ulField values for when job is held or released"
  156. " */"
  157. "#define PO_JOB_HELD                  0x00000080"
  158. "#define PO_JOB_RELEASE               0x00000081"
  159. ""
  160. "/* common context menu ids */"
  161. ""
  162. "#define WPPOICM_PD_OPENMENU         6000"
  163. "#define WPPOIDM_PD_ICON             9010"
  164. "#define WPPOIDM_PD_DETAIL           9009"
  165. "#define WPPOICM_PD_MENU             9000"
  166. "#define WPPOIDM_PD_STATUS           9003"
  167. "#define WPPOIDM_PD_HOLD             9004"
  168. "#define WPPOIDM_PD_RELEASE          9005"
  169. "#define WPPOIDM_PD_DELETE_JOBS      9016"
  170. "#define WPPOIDM_PD_REFRESH          9013"
  171. "#define WPPOIDM_PD_DEFAULT          9100"
  172. "#define WPPOIDM_PD_INSTALL          8001"
  173. "";
  174.  
  175.  
  176.     wpInitData: override;
  177.     wpUnInitData: override;
  178.     somDumpSelfInt: override;
  179.     wpSetTitle: override;
  180.     wpSaveState: override;
  181.     wpRestoreState: override;
  182.     wpAddSettingsPages: override;
  183.     wpQueryTitle: override;
  184.     wpQueryIcon: override;
  185.     wpSetIcon: override;
  186.     wpFilterPopupMenu: override;
  187.     wpFree: override;
  188.     wpModifyPopupMenu: override;
  189.     wpMenuItemSelected: override;
  190.     wpMenuItemHelpSelected: override;
  191.     wpQueryDefaultHelp: override;
  192.     wpOpen: override;
  193.     wpDrop: override;
  194.     wpDragOver: override;
  195.     wpCreateAnother: override;
  196.     wpCopyObject: override;
  197.     wpCopiedFromTemplate: override;
  198.     wpCreateFromTemplate: override;
  199.     wpQueryStyle: override;
  200.     wpMoveObject: override;
  201.     wpCreateShadowObject: override;
  202.     wpQueryIconData: override;
  203.     wpSetIconData: override;
  204.  
  205.     wpSetup: override;
  206.     wpSetDefaultView:override;
  207.     wpQueryDetailsData: override;
  208.  
  209.  
  210.   };
  211. #endif /* __SOMIDL__ */
  212. };
  213.  
  214. interface M_WPPrinter
  215. {
  216.  
  217. #ifdef __SOMIDL__
  218.   implementation {
  219.  
  220.     externalstem = WPprint;
  221.     local;
  222.     externalprefix = pdvM_;                                            //@WPSOM2
  223.     functionprefix = pdvM_;
  224.     majorversion = 1;
  225.     minorversion = 1;
  226.     filestem = wpprint;
  227.     callstyle = oidl;
  228.  
  229.     wpclsQueryTitle: override;
  230.     wpclsQueryIcon: override;
  231.     wpclsQueryDefaultHelp: override;
  232.     wpclsQueryDefaultView: override;
  233.     wpclsQueryStyle: override;
  234.     wpclsQueryIconData: override;
  235.     wpclsInitData: override;
  236.     wpclsQueryDetailsInfo: override;
  237.  
  238.   };
  239. #endif /* __SOMIDL__ */
  240. };
  241.  
  242. #endif  /* wpprint_idl */
  243.