Skip to content
Snippets Groups Projects
Commit b06116e2 authored by John K. Hohm's avatar John K. Hohm Committed by Alexandre Julliard
Browse files

Added definitions for the Component Categories Manager.

parent c74a791a
No related branches found
No related tags found
No related merge requests found
......@@ -143,6 +143,7 @@ INSTALLED_INCLUDES = \
wine/obj_cache.h \
wine/obj_channel.h \
wine/obj_clientserver.h \
wine/obj_comcat.h \
wine/obj_commdlgbrowser.h \
wine/obj_connection.h \
wine/obj_contextmenu.h \
......@@ -150,6 +151,7 @@ INSTALLED_INCLUDES = \
wine/obj_dataobject.h \
wine/obj_dockingwindowframe.h \
wine/obj_dragdrop.h \
wine/obj_enumguid.h \
wine/obj_enumidlist.h \
wine/obj_errorinfo.h \
wine/obj_extracticon.h \
......
......@@ -28,9 +28,8 @@
#ifndef __WINE_COMCAT_H
#define __WINE_COMCAT_H
#include "unknwn.h"
typedef GUID CATID;
typedef REFGUID REFCATID;
#include "wine/obj_base.h"
#include "wine/obj_enumguid.h"
#include "wine/obj_comcat.h"
#endif /*__WINE_COMCAT_H */
/*
* Defines the COM interfaces and APIs related to Component Category Manager
*
* Depends on 'obj_enumguid.h'.
*
* Copyright (C) 2002 John K. Hohm
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_COMCAT_H
#define __WINE_WINE_OBJ_COMCAT_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Types
*/
typedef GUID CATID;
typedef REFGUID REFCATID;
#define CATID_NULL GUID_NULL
#define IsEqualCATID(a, b) IsEqualGUID(a, b)
typedef struct tagCATEGORYINFO {
CATID catid; /* category identifier for component */
LCID lcid; /* locale identifier */
OLECHAR szDescription[128]; /* description of the category */
} CATEGORYINFO, *LPCATEGORYINFO;
/*****************************************************************************
* Aliases for EnumGUID
*/
#define IEnumCATID IEnumGUID
#define LPENUMCATID LPENUMGUID
#define IID_IEnumCATID IID_IEnumGUID
#define IEnumCLSID IEnumGUID
#define LPENUMCLSID LPENUMGUID
#define IID_IEnumCLSID IID_IEnumGUID
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_ICatInformation, 0x0002E013L, 0, 0);
typedef struct ICatInformation ICatInformation, *LPCATINFORMATION;
DEFINE_OLEGUID(IID_ICatRegister, 0x0002E012L, 0, 0);
typedef struct ICatRegister ICatRegister, *LPCATREGISTER;
DEFINE_OLEGUID(IID_IEnumCATEGORYINFO, 0x0002E011L, 0, 0);
typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO, *LPENUMCATEGORYINFO;
/* The Component Category Manager */
DEFINE_OLEGUID(CLSID_StdComponentCategoriesMgr, 0x0002E005L, 0, 0);
/*****************************************************************************
* ICatInformation
*/
#define ICOM_INTERFACE ICatInformation
#define ICatInformation_METHODS \
ICOM_METHOD2(HRESULT, EnumCategories, LCID, lcid, IEnumCATEGORYINFO**, ppenumCatInfo) \
ICOM_METHOD3(HRESULT, GetCategoryDesc, REFCATID, rcatid, LCID, lcid, PWCHAR*, ppszDesc) \
ICOM_METHOD5(HRESULT, EnumClassesOfCategories, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq, IEnumCLSID**, ppenumCLSID) \
ICOM_METHOD5(HRESULT, IsClassOfCategories, REFCLSID, rclsid, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq) \
ICOM_METHOD2(HRESULT, EnumImplCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID) \
ICOM_METHOD2(HRESULT, EnumReqCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID)
#define ICatInformation_IMETHODS \
IUnknown_IMETHODS \
ICatInformation_METHODS
ICOM_DEFINE(ICatInformation,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define ICatInformation_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ICatInformation_AddRef(p) ICOM_CALL (AddRef,p)
#define ICatInformation_Release(p) ICOM_CALL (Release,p)
/*** ICatInformation methods ***/
#define ICatInformation_EnumCategories(p,a,b) ICOM_CALL2(EnumCategories,p,a,b)
#define ICatInformation_GetCategoryDesc(p,a,b,c) ICOM_CALL3(GetCategoryDesc,p,a,b,c)
#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) ICOM_CALL5(EnumClassesOfCategories,p,a,b,c,d,e)
#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) ICOM_CALL5(IsClassOfCategories,p,a,b,c,d,e)
#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) ICOM_CALL2(EnumImplCategoriesOfClass(p,a,b)
#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) ICOM_CALL2(EnumReqCategoriesOfClass(p,a,b)
#endif
/*****************************************************************************
* ICatRegister
*/
#define ICOM_INTERFACE ICatRegister
#define ICatRegister_METHODS \
ICOM_METHOD2(HRESULT, RegisterCategories, ULONG, cCategories, CATEGORYINFO*, rgCategoryInfo) \
ICOM_METHOD2(HRESULT, UnRegisterCategories, ULONG, cCategories, CATID*, rgcatid) \
ICOM_METHOD3(HRESULT, RegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
ICOM_METHOD3(HRESULT, UnRegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
ICOM_METHOD3(HRESULT, RegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
ICOM_METHOD3(HRESULT, UnRegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid)
#define ICatRegister_IMETHODS \
IUnknown_IMETHODS \
ICatRegister_METHODS
ICOM_DEFINE(ICatRegister,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define ICatRegister_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ICatRegister_AddRef(p) ICOM_CALL (AddRef,p)
#define ICatRegister_Release(p) ICOM_CALL (Release,p)
/*** ICatRegister methods ***/
#define ICatRegister_RegisterCategories(p,a,b) ICOM_CALL2(RegisterCategories,p,a,b)
#define ICatRegister_UnRegisterCategories(p,a,b) ICOM_CALL2(UnRegisterCategories,p,a,b)
#define ICatRegister_RegisterClassImplCategories(p,a,b,c) ICOM_CALL3(RegisterClassImplCategories,p,a,b,c)
#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) ICOM_CALL3(UnRegisterClassImplCategories,p,a,b,c)
#define ICatRegister_RegisterClassReqCategories(p,a,b,c) ICOM_CALL3(RegisterClassReqCategories,p,a,b,c)
#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) ICOM_CALL3(UnRegisterClassReqCategories,p,a,b,c)
#endif
/*****************************************************************************
* IEnumCATEGORYINFO
*/
#define ICOM_INTERFACE IEnumCATEGORYINFO
#define IEnumCATEGORYINFO_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, CATEGORYINFO*, rgelt, ULONG*, pceltFetched) \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
ICOM_METHOD (HRESULT, Reset) \
ICOM_METHOD1(HRESULT, Clone, IEnumCATEGORYINFO**, ppenum)
#define IEnumCATEGORYINFO_IMETHODS \
IUnknown_IMETHODS \
IEnumCATEGORYINFO_METHODS
ICOM_DEFINE(IEnumCATEGORYINFO,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumCATEGORYINFO_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumCATEGORYINFO_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumCATEGORYINFO_Release(p) ICOM_CALL (Release,p)
/*** IEnumCATEGORYINFO methods ***/
#define IEnumCATEGORYINFO_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumCATEGORYINFO_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumCATEGORYINFO_Reset(p) ICOM_CALL(Reset,p)
#define IEnumCATEGORYINFO_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_COMCAT_H */
/*
* Defines the COM interfaces and APIs related to EnumGUID
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 2002 John K. Hohm
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_ENUMGUID_H
#define __WINE_WINE_OBJ_ENUMGUID_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IEnumGUID, 0x0002E000L, 0, 0);
typedef struct IEnumGUID IEnumGUID, *LPENUMGUID;
/*****************************************************************************
* IEnumGUID
*/
#define ICOM_INTERFACE IEnumGUID
#define IEnumGUID_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, GUID*, rgelt, ULONG*, pceltFetched) \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
ICOM_METHOD (HRESULT, Reset) \
ICOM_METHOD1(HRESULT, Clone, IEnumGUID**, ppenum)
#define IEnumGUID_IMETHODS \
IUnknown_IMETHODS \
IEnumGUID_METHODS
ICOM_DEFINE(IEnumGUID,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumGUID_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumGUID_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumGUID_Release(p) ICOM_CALL (Release,p)
/*** IEnumGUID methods ***/
#define IEnumGUID_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumGUID_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumGUID_Reset(p) ICOM_CALL(Reset,p)
#define IEnumGUID_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_ENUMGUID_H */
......@@ -47,6 +47,8 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "wine/obj_queryassociations.h"
#include "wine/obj_channel.h"
#include "comcat.h"
/* FIXME: cguids declares GUIDs but does not define their values */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment