RpcPduFactory.h
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* RpcPduFactory - create DCOM protocol requests/responses */
  2. /* Copyright (c) 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01l,13jul01,dbs  fix up includes
  7. 01k,29mar01,nel  SPR#35873. Add context id parameter to formatBindPdu to allow
  8.                  client side ctxId to be specified.
  9. 01j,26jun00,dbs  add did-not-execute to FAULT
  10. 01i,22jun00,dbs  fix handling of alter-context packets
  11. 01h,19jul99,dbs  add support for AUTH3 packets
  12. 01g,09jul99,dbs  use final filenames
  13. 01f,02jul99,aim  renamed makeBindFormatPdu and makeRequestFormatPdu
  14. 01e,24jun99,dbs  move authn into new class
  15. 01d,23jun99,dbs  fix authn on response packets
  16. 01c,08jun99,aim  rework
  17. 01b,08jun99,aim  now uses NRpcPdu
  18. 01a,03Jun99,aim  created
  19. */
  20. #ifndef __INCRpcPduFactory_h
  21. #define __INCRpcPduFactory_h
  22. #include "RpcPdu.h"
  23. #include "orpcLib.h"
  24. class RpcPduFactory
  25.     {
  26.   public:
  27.     virtual ~RpcPduFactory ();
  28.     RpcPduFactory ();
  29.     static void formatFaultPdu
  30. (
  31. const RpcPdu& request,
  32. RpcPdu& result,
  33. HRESULT faultCode,
  34. bool didNotExecute
  35. );
  36.     static void formatAuth3Pdu
  37. (
  38. RpcPdu& auth3Pdu,
  39. ULONG callId
  40. );
  41.     static void formatBindAckPdu
  42. (
  43. const RpcPdu& request,
  44. RpcPdu& result,
  45. ULONG           assocGroupId
  46. );
  47.     static void formatAlterContextRespPdu
  48. (
  49. const RpcPdu& request,
  50. RpcPdu& result
  51. );
  52.     static void formatBindNakPdu
  53. (
  54. const RpcPdu& request,
  55. RpcPdu& result
  56. );
  57.     static void formatResponsePdu
  58. (
  59. const RpcPdu& request,
  60. RpcPdu& result
  61. );
  62.     static void formatBindPdu
  63. (
  64. RpcPdu& result,
  65. REFIID riid,
  66. ULONG callId,
  67. ULONG assocGroupId,
  68. bool alterCtxt,
  69. USHORT ctxId
  70. );
  71.     static void formatRequestPdu
  72. (
  73. RpcPdu& result,
  74. ULONG callId,
  75. USHORT opnum,
  76. const GUID* pObjectUuid,
  77. USHORT ctxId
  78. );
  79.     static BYTE rpcMajorVersion ();
  80.     static BYTE rpcMinorVersion ();
  81.   private:
  82.     // unsupported
  83.     RpcPduFactory (const RpcPduFactory& other);
  84.     RpcPduFactory& operator= (const RpcPduFactory& rhs);
  85.     };
  86. #endif // __INCRpcPduFactory_h