text: // This file declares the ICategoryProvider Interface and Gateway for Python.
  // Generated by makegw.py
  // ---------------------------------------------------
  //
  // Interface Declaration
  
  class PyICategoryProvider : public PyIUnknown {
     public:
      MAKE_PYCOM_CTOR(PyICategoryProvider);
      static ICategoryProvider *GetI(PyObject *self);
      static PyComTypeObject type;
  
      // The Python methods
      static PyObject *CanCategorizeOnSCID(PyObject *self, PyObject *args);
      static PyObject *GetDefaultCategory(PyObject *self, PyObject *args);
      static PyObject *GetCategoryForSCID(PyObject *self, PyObject *args);
      static PyObject *EnumCategories(PyObject *self, PyObject *args);
      static PyObject *GetCategoryName(PyObject *self, PyObject *args);
      static PyObject *CreateCategory(PyObject *self, PyObject *args);
  
     protected:
      PyICategoryProvider(IUnknown *pdisp);
      ~PyICategoryProvider();
  };
  // ---------------------------------------------------
  //
  // Gateway Declaration
  
  class PyGCategoryProvider : public PyGatewayBase, public ICategoryProvider {
     protected:
      PyGCategoryProvider(PyObject *instance) : PyGatewayBase(instance) { ; }
      PYGATEWAY_MAKE_SUPPORT2(PyGCategoryProvider, ICategoryProvider, IID_ICategoryProvider, PyGatewayBase)
  
      // ICategoryProvider
      STDMETHOD(CanCategorizeOnSCID)(__RPC__in const SHCOLUMNID *pscid);
  
      STDMETHOD(GetDefaultCategory)(__RPC__out GUID *pguid, __RPC__out SHCOLUMNID *pscid);
  
      STDMETHOD(GetCategoryForSCID)(__RPC__in const SHCOLUMNID *pscid, __RPC__out GUID *pguid);
  
      STDMETHOD(EnumCategories)(__RPC__deref_out_opt IEnumGUID **penum);
  
      STDMETHOD(GetCategoryName)
      (__RPC__in const GUID *pguid, __RPC__out_ecount_full_string(cch) LPWSTR pszName, UINT cch);
  
      STDMETHOD(CreateCategory)(__RPC__in const GUID *pguid, __RPC__in REFIID riid, __RPC__deref_out_opt void **ppv);
  };
  