Source code of Windows XP (NT5)
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.

122 lines
2.5 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1998.
  5. //
  6. // File: cicontrl.hxx
  7. //
  8. // Contents: Contains the implementation of ICiControl interface.
  9. //
  10. // History: 1-17-97 srikants Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #pragma once
  14. #include <ciintf.h>
  15. extern const GUID clsidCiControl;
  16. //+---------------------------------------------------------------------------
  17. //
  18. // Class: CCiControlObject
  19. //
  20. // Purpose: Object of overall Ci control
  21. //
  22. // History: 1-17-97 srikants Created
  23. //
  24. // Notes:
  25. //
  26. //----------------------------------------------------------------------------
  27. class CCiControlObject : public ICiControl
  28. {
  29. public:
  30. CCiControlObject() : _refCount(1)
  31. {
  32. }
  33. //
  34. // IUnknown methods.
  35. //
  36. STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppiuk );
  37. STDMETHOD_(ULONG, AddRef) (THIS);
  38. STDMETHOD_(ULONG, Release) (THIS);
  39. STDMETHOD(CreateContentIndex) (
  40. ICiCDocStore * pICiDocStore,
  41. ICiManager ** ppICiManager);
  42. STDMETHOD(DestroyContentIndex)(
  43. ICiManager * pICiManager)
  44. {
  45. Win4Assert( !"Not Yet Implemented" );
  46. return E_NOTIMPL;
  47. }
  48. private:
  49. long _refCount;
  50. };
  51. //+---------------------------------------------------------------------------
  52. //
  53. // Class: CCiControlObjectCF
  54. //
  55. // Purpose: Class factory for ICiControl
  56. //
  57. // History: 1-17-97 srikants Created
  58. //
  59. //----------------------------------------------------------------------------
  60. class CCiControlObjectCF : public IClassFactory
  61. {
  62. public:
  63. //
  64. // IUnknown methods.
  65. //
  66. STDMETHOD( QueryInterface ) ( THIS_ REFIID riid,LPVOID *ppiuk );
  67. STDMETHOD_( ULONG, AddRef ) ( THIS );
  68. STDMETHOD_( ULONG, Release ) ( THIS );
  69. //
  70. // IClassFactory methods.
  71. //
  72. STDMETHOD( CreateInstance ) ( THIS_
  73. IUnknown * pUnkOuter,
  74. REFIID riid,
  75. void * * ppvObject );
  76. STDMETHOD( LockServer ) ( THIS_ BOOL fLock );
  77. CCiControlObjectCF( void );
  78. protected:
  79. //
  80. // Hidden destructor so that only we can delete the instance
  81. // based on IUnknown control
  82. //
  83. virtual ~CCiControlObjectCF();
  84. private:
  85. //
  86. // IUnknown reference count.
  87. //
  88. LONG _RefCount;
  89. };