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.

124 lines
3.0 KiB

  1. #if !defined( calltoNM_h )
  2. #define calltoNM_h
  3. //--------------------------------------------------------------------------//
  4. //--------------------------------------------------------------------------//
  5. // Application Header Files. //
  6. //--------------------------------------------------------------------------//
  7. #include "callto.h"
  8. #include "calltoContext.h"
  9. #include "calltoResolver.h"
  10. #include "calltoDisambiguator.h"
  11. //--------------------------------------------------------------------------//
  12. // interface INMCallto. //
  13. //--------------------------------------------------------------------------//
  14. class INMCallto
  15. {
  16. protected: // protected constructors --------------------------------//
  17. INMCallto(){};
  18. public: // public destructor ------------------------------------//
  19. virtual
  20. ~INMCallto(){};
  21. public: // public methods ----------------------------------------//
  22. virtual
  23. HRESULT
  24. callto
  25. (
  26. const TCHAR * const url,
  27. const bool strict = true,
  28. const bool uiEnabled = false,
  29. INmCall** ppInternalCall = NULL
  30. ) = 0;
  31. virtual
  32. IMutableUIContext * const
  33. get_mutableUIContext(void) const = 0;
  34. virtual
  35. IMutableGatekeeperContext * const
  36. get_mutableGatekeeperContext(void) const = 0;
  37. virtual
  38. IMutableGatewayContext * const
  39. get_mutableGatewayContext(void) const = 0;
  40. virtual
  41. IMutableILSContext * const
  42. get_mutableIlsContext(void) const = 0;
  43. }; // End of interface INMCallto.
  44. //--------------------------------------------------------------------------//
  45. // class CNMCallto. //
  46. //--------------------------------------------------------------------------//
  47. class CNMCallto: public INMCallto,
  48. private CCalltoContext
  49. {
  50. public: // public constructors ------------------------------------//
  51. CNMCallto(void);
  52. public: // public destructor ------------------------------------//
  53. ~CNMCallto();
  54. public: // public methods (INMCallto) ----------------------------//
  55. HRESULT
  56. callto
  57. (
  58. const TCHAR * const url,
  59. const bool strict = true,
  60. const bool uiEnabled = false,
  61. INmCall** ppInternalCall = NULL
  62. );
  63. virtual
  64. IMutableUIContext * const
  65. get_mutableUIContext(void) const;
  66. virtual
  67. IMutableGatekeeperContext * const
  68. get_mutableGatekeeperContext(void) const;
  69. virtual
  70. IMutableGatewayContext * const
  71. get_mutableGatewayContext(void) const;
  72. virtual
  73. IMutableILSContext * const
  74. get_mutableIlsContext(void) const;
  75. private: // private methods ----------------------------------------//
  76. bool
  77. selfTest(void);
  78. public: // public members ----------------------------------------//
  79. HRESULT m_selfTestResult;
  80. private: // private members ----------------------------------------//
  81. CCalltoResolver m_resolver;
  82. CCalltoDisambiguator m_disambiguator;
  83. }; // End of class CNMCallto.
  84. //--------------------------------------------------------------------------//
  85. #endif // !defined( calltoNM_h )