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.

385 lines
8.5 KiB

  1. /**********************************************************************/
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1990 **/
  4. /**********************************************************************/
  5. /*
  6. * History
  7. * jonn 05/4/91 Templated from lmosrv.hxx
  8. * jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  9. * JohnL, JonN)
  10. * terryk 10/7/91 type changes for NT
  11. */
  12. #ifndef _LMOPR_HXX_
  13. #define _LMOPR_HXX_
  14. #include <lmobj.hxx>
  15. /**********************************************************\
  16. NAME: PRINT_OBJ
  17. WORKBOOK:
  18. SYNOPSIS: DosPrint base class
  19. INTERFACE:
  20. PRINTOBJ() - constructor
  21. ~PRINTOBJ() - destructor
  22. PARENT: LM_OBJ
  23. USES:
  24. CAVEATS:
  25. NOTES: Will eventually be derived from LM_OBJ_WRITABLE (name?)
  26. HISTORY:
  27. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  28. JohnL, JonN)
  29. \**********************************************************/
  30. DLL_CLASS PRINT_OBJ : public LM_OBJ
  31. {
  32. private:
  33. TCHAR * _pszServer;
  34. TCHAR * _pszObjectName;
  35. protected:
  36. const TCHAR * QueryObjectName() {return _pszObjectName;}
  37. UINT SetObjectName( const TCHAR * pszObjectName );
  38. public:
  39. PRQUEUE( const TCHAR * pszServer, const TCHAR * pszObjectName ) ;
  40. ~PRQUEUE( VOID ) ;
  41. virtual UINT WriteInfo() = 0 ;
  42. virtual UINT GetNew() = 0 ;
  43. virtual UINT WriteNew() = 0 ;
  44. const TCHAR * QueryServer() {return _pszServer;}
  45. UINT SetServer( const TCHAR * pszServer );
  46. } ;
  47. /**********************************************************\
  48. NAME: PRQUEUE
  49. WORKBOOK:
  50. SYNOPSIS: DosPrintQueue base class
  51. INTERFACE:
  52. PRQUEUE() - constructor
  53. ~PRQUEUE() - destructor
  54. Pause() - pause queue (static)
  55. Resume() - resume queue (static)
  56. Delete() - delete queue (static)
  57. Purge() - purge queue (static)
  58. PARENT: PRINT_OBJ
  59. USES:
  60. CAVEATS:
  61. NOTES:
  62. HISTORY:
  63. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  64. JohnL, JonN)
  65. \**********************************************************/
  66. DLL_CLASS PRQUEUE : public PRINT_OBJ
  67. {
  68. public:
  69. PRQUEUE( VOID ) ;
  70. ~PRQUEUE( VOID ) ;
  71. static UINT Pause ( const TCHAR * pszServer, const TCHAR * pszQueueName );
  72. static UINT Resume( const TCHAR * pszServer, const TCHAR * pszQueueName );
  73. static UINT Delete( const TCHAR * pszServer, const TCHAR * pszQueueName );
  74. static UINT Purge ( const TCHAR * pszServer, const TCHAR * pszQueueName );
  75. } ;
  76. /**********************************************************\
  77. NAME: PRQUEUE_3
  78. WORKBOOK:
  79. SYNOPSIS: DosPrintQueue 3
  80. INTERFACE:
  81. PRQUEUE_3() - constructor
  82. ~PRQUEUE_3() - destructor
  83. GetInfo() - get information
  84. WriteInfo() - write information
  85. GetNew() - create default new data
  86. WriteNew() - write new information
  87. QueryQueueName() - get queue name
  88. SetQueueName() - set queue name
  89. PARENT: PRQUEUE
  90. USES:
  91. CAVEATS:
  92. NOTES:
  93. HISTORY:
  94. jonn 05/4/91 Templated from lmosrv.hxx
  95. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  96. JohnL, JonN)
  97. \**********************************************************/
  98. DLL_CLASS PRQUEUE_3 : public PRQUEUE
  99. {
  100. private:
  101. TCHAR * _pszServer;
  102. TCHAR * _pszQueueName;
  103. public:
  104. PRQUEUE_3( const TCHAR * pszServer, const TCHAR * pszQueueName ) ;
  105. ~PRQUEUE_3( VOID ) ;
  106. virtual UINT GetInfo() ;
  107. virtual UINT WriteInfo() ;
  108. virtual UINT GetNew() ;
  109. virtual UINT WriteNew() ;
  110. const TCHAR * QueryQueueName() {return QueryObjectName();}
  111. UINT SetQueueName( const TCHAR * pszQueueName )
  112. {return SetObjectName(pszQueueName);}
  113. /* other Get and Set methods as necessary */
  114. } ;
  115. /**********************************************************\
  116. NAME: PRDEST
  117. WORKBOOK:
  118. SYNOPSIS: DosPrintDest base class
  119. INTERFACE:
  120. PRDEST() - constructor
  121. ~PRDEST() - destructor
  122. WriteDrivers() - change driver list (static)
  123. PARENT: PRINT_OBJ
  124. USES:
  125. CAVEATS:
  126. NOTES:
  127. HISTORY:
  128. jonn 05/4/91 Templated from lmosrv.hxx
  129. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  130. JohnL, JonN)
  131. \**********************************************************/
  132. DLL_CLASS PRDEST : public PRINT_OBJ
  133. {
  134. public:
  135. PRDEST( VOID ) ;
  136. ~PRDEST( VOID ) ;
  137. static UINT WriteDrivers( const TCHAR * pszServer, const TCHAR * pszDestName,
  138. STRLIST strlistDrivers, STRLIST strlistModels );
  139. } ;
  140. /**********************************************************\
  141. NAME: PRDEST_3
  142. WORKBOOK:
  143. SYNOPSIS: DosPrintDest 3
  144. INTERFACE:
  145. PRDEST_3() - constructor
  146. ~PRDEST_3() - destructor
  147. GetInfo() - get information
  148. WriteInfo() - write information
  149. GetNew() - create default new data
  150. WriteNew() - write new information
  151. QueryDestName() - get dest name
  152. SetDestName() - set dest name
  153. PARENT: PRDEST
  154. USES:
  155. CAVEATS:
  156. NOTES:
  157. HISTORY:
  158. jonn 05/4/91 Templated from lmosrv.hxx
  159. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  160. JohnL, JonN)
  161. \**********************************************************/
  162. DLL_CLASS PRDEST_3 : public PRDEST
  163. {
  164. private:
  165. TCHAR * _pszServer;
  166. TCHAR * _pszDestName;
  167. public:
  168. PRDEST_3( onst TCHAR * pszServer, onst TCHAR * pszDestName ) ;
  169. ~PRDEST_3( VOID ) ;
  170. virtual UINT GetInfo() ;
  171. virtual UINT WriteInfo() ;
  172. virtual UINT GetNew() ;
  173. virtual UINT WriteNew() ;
  174. onst TCHAR * QueryDestName() {return QueryObjectName();}
  175. UINT SetDestName( onst TCHAR * pszDestName )
  176. {return SetObjectName(pszDestName);}
  177. /* other Get and Set methods as necessary */
  178. } ;
  179. /**********************************************************\
  180. NAME: PRJOB
  181. WORKBOOK:
  182. SYNOPSIS: DosPrintJob base class
  183. INTERFACE:
  184. PRJOB() - constructor
  185. ~PRJOB() - destructor
  186. PARENT: LM_OBJ
  187. USES:
  188. CAVEATS:
  189. NOTES:
  190. HISTORY:
  191. jonn 05/4/91 Templated from lmosrv.hxx
  192. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  193. JohnL, JonN)
  194. \**********************************************************/
  195. DLL_CLASS PRJOB : public LM_OBJ
  196. {
  197. public:
  198. PRJOB( VOID ) ;
  199. ~PRJOB( VOID ) ;
  200. static UINT Pause ( onst TCHAR * pszServer, UINT uJobID );
  201. static UINT Resume( onst TCHAR * pszServer, UINT uJobID );
  202. static UINT Delete( onst TCHAR * pszServer, UINT uJobID );
  203. static UINT WritePosition( onst TCHAR * pszServer, UINT uJobID,
  204. UINT uPosition );
  205. } ;
  206. /**********************************************************\
  207. NAME: PRJOB_2
  208. WORKBOOK:
  209. SYNOPSIS: DosPrintJob 2
  210. INTERFACE:
  211. PRJOB_2() - constructor
  212. ~PRJOB_2() - destructor
  213. QueryServer()
  214. QueryID()
  215. PARENT: PRJOB
  216. USES:
  217. CAVEATS:
  218. NOTES: No GetInfo method, create using enumerator
  219. HISTORY:
  220. jonn 05/4/91 Templated from lmosrv.hxx
  221. \**********************************************************/
  222. DLL_CLASS PRJOB_2 : public PRJOB
  223. {
  224. private:
  225. TCHAR * _pszServer;
  226. public:
  227. PRJOB_2( VOID ) ;
  228. ~PRJOB_2( VOID ) ;
  229. const TCHAR * QueryServer() {return pszServer;}
  230. const TCHAR * QueryID() ;
  231. /* other Get and Set methods as necessary */
  232. } ;
  233. /**********************************************************\
  234. NAME: PRJOB_3
  235. WORKBOOK:
  236. SYNOPSIS: DosPrintJob 3
  237. INTERFACE:
  238. PRJOB_3() - constructor
  239. ~PRJOB_3() - destructor
  240. GetInfo() - get information
  241. WriteInfo() - write information
  242. PARENT: PRJOB_2
  243. USES:
  244. CAVEATS:
  245. NOTES:
  246. HISTORY:
  247. jonn 05/4/91 Templated from lmosrv.hxx
  248. jonn 10/4/91 Writable LMOBJ meeting (ChuckC, RustanL,
  249. JohnL, JonN)
  250. \**********************************************************/
  251. DLL_CLASS PRJOB_3 : public PRJOB_2
  252. {
  253. public:
  254. PRJOB_3( const TCHAR * pszServer, UINT uJobID ) ;
  255. ~PRJOB_3( VOID ) ;
  256. virtual UINT GetInfo( VOID ) ;
  257. virtual UINT WriteInfo( VOID ) ;
  258. /* other Get and Set methods as necessary */
  259. } ;
  260. #endif // _LMOPR_HXX_