/****************** adomd.idl : IDL source for adomd.dll *****************/ #include "adomd.hh" #include "adords.hh" // Forwards interface ICatalog; coclass Catalog; interface ICellset; coclass Cellset; interface Cell; interface Axis; interface Position; interface Member; interface Level; interface CubeDef; interface Dimension; interface Hierarchy; interface Axes; interface Positions; interface Members; interface CubeDefs; interface Dimensions; interface Hierarchies; interface Levels; #define UUIID_EnumMemberType uuid(000002AE-0000-0010-8000-00AA006D2EA4) #define DISPID_COLLECT ( -8 ) #define DEFAULT_METHOD id(0) #define CONNECTION_BASEDISPID 1 cpp_quote("#define TARGET_IS_NT40_OR_LATER 1") [ uuid(22813728-8BD3-11D0-B4EF-00A0C9138CA4), version(1.0), helpfile("ado210.chm"), helpstring("Microsoft ActiveX Data Objects (Multi-dimensional) 1.0 Library") ] library ADOMD { importlib("stdole32.tlb"); importlib("msado15.dll"); /************************************ Enums **********************************************/ typedef [ UUIID_EnumMemberType ] enum MemberTypeEnum { [] adMemberUnknown = 0x0000, [] adMemberRegular = 0x0001, [] adMemberAll = 0x0002, [] adMemberMeasure = 0x0003, [] adMemberFormula = 0x0004 } MemberTypeEnum; /******************************* Interfaces **********************************************/ [ object, uuid(228136B1-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Catalog Interface"), pointer_default(unique) ] interface ICatalog : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propputref, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] IDispatch *pconn ); [ propput, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] BSTR bstrConn ); [ propget, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [out, retval] IDispatch **ppConn ); [ propget, DEFAULT_METHOD, helpcontext(amcolCubeDefs) ] HRESULT CubeDefs( [out, retval] CubeDefs **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281372A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Cellset Interface"), pointer_default(unique) ] interface ICellset : IDispatch { import "oaidl.idl"; [ propget, vararg, DEFAULT_METHOD, helpcontext(ammthItem) ] HRESULT Item( [in] SAFEARRAY(VARIANT)* idx, [out, retval] Cell **ppvObject ); [ helpcontext(ammthOpen) ] HRESULT Open( [in, optional] VARIANT DataSource, [in, optional] VARIANT ActiveConnection ); [ helpcontext(ammthClose) ] HRESULT Close(); [ propputref, helpcontext(amproSource) ] HRESULT Source([in] IDispatch *pcmd); [ propput, helpcontext(amproSource) ] HRESULT Source( [in] BSTR bstrCmd ); [ propget, helpcontext(amproSource) ] HRESULT Source( [out, retval] VARIANT *pvSource ); [ propputref, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] IDispatch *pconn ); [ propput, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] BSTR bstrConn ); [ propget, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [out, retval] IDispatch **ppConn ); [ propget, helpcontext(amproState) ] HRESULT State([out, retval] LONG *plState); [ propget, helpcontext(amcolAxes) ] HRESULT Axes( [out, retval] Axes **ppvObject ); [ propget, helpcontext(amproFilterAxis) ] HRESULT FilterAxis( [out, retval] Axis **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281372E-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Cell Interface"), pointer_default(unique) ] interface Cell : IDispatch { import "oaidl.idl"; [ propget, DEFAULT_METHOD, helpcontext(amproValue) ] HRESULT Value( [out, retval] VARIANT *pvar ); [ propput, helpcontext(amproValue) ] HRESULT Value( [in] VARIANT var ); [ propget, helpcontext(amcolPositions) ] HRESULT Positions( [out, retval] Positions **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, helpcontext(amproFormattedValue) ] HRESULT FormattedValue( [out, retval] BSTR *pbstr ); [ propput, helpcontext(amproFormattedValue) ] HRESULT FormattedValue( [in] BSTR bstr ); [ propget, helpcontext(amproOrdinalCell) ] HRESULT Ordinal( [out, retval] long *pl ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813732-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Axis Interface"), pointer_default(unique) ] interface Axis : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDimensionCount) ] HRESULT DimensionCount( [out, retval] long *pl ); [ propget,, helpcontext(amcolPositions), DEFAULT_METHOD ] HRESULT Positions( [out, retval] Positions **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813734-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Position Interface"), pointer_default(unique) ] interface Position : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproOrdinalPosition) ] HRESULT Ordinal( [out, retval] long *pl ); [ propget, DEFAULT_METHOD, helpcontext(amcolMembers) ] HRESULT Members( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813736-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Member Interface"), pointer_default(unique) ] interface Member : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, DEFAULT_METHOD, helpcontext(amproCaption) ] HRESULT Caption( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproParent) ] HRESULT Parent( [out, retval] Member **ppvObject ); [ propget, helpcontext(amproLevelDepth) ] HRESULT LevelDepth( [out, retval] long *pl ); [ propget, helpcontext(amproLevelName) ] HRESULT LevelName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, helpcontext(amproType) ] HRESULT Type( [out, retval] MemberTypeEnum *ptype ); [ propget, helpcontext(amproChildCount) ] HRESULT ChildCount( [out, retval] long *pl ); [ propget, helpcontext(amproDrilledDown) ] HRESULT DrilledDown( [out, retval] VARIANT_BOOL *pf ); [ propget, helpcontext(amproParentSameAsPrev) ] HRESULT ParentSameAsPrev( [out, retval] VARIANT_BOOL *pf ); [ propget, helpcontext(amproChildren) ] HRESULT Children( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281373A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Level Interface"), pointer_default(unique) ] interface Level : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproCaption) ] HRESULT Caption( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDepth) ] HRESULT Depth([out, retval] short *pw); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amcolMembers) ] HRESULT Members( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281373E-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("CubeDef Interface"), pointer_default(unique) ] interface CubeDef : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amcolDimensions) ] HRESULT Dimensions( [out, retval] Dimensions **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813742-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Dimension Interface"), pointer_default(unique) ] interface Dimension : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amcolHierarchies) ] HRESULT Hierarchies( [out, retval] Hierarchies **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813746-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Hierarchy Interface"), pointer_default(unique) ] interface Hierarchy : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amcolLevels) ] HRESULT Levels( [out, retval] Levels **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813751-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Collection Interface"), pointer_default(unique) ] interface MD_Collection : IDispatch { [ helpcontext(ammthRefresh) ] HRESULT Refresh(); [ restricted, id(-4) ] HRESULT _NewEnum( [out, retval] IUnknown **ppvObject ); [ propget, helpcontext(amproCount) ] HRESULT Count( [out, retval]long *c ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813757-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Members collection"), pointer_default(unique) ] interface Members : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Member **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813758-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Levels collection"), pointer_default(unique) ] interface Levels : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Level **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813759-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Axes collection"), pointer_default(unique) ] interface Axes : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Axis **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Positions collection"), pointer_default(unique) ] interface Positions : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Position **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375B-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Hierarchies collection"), pointer_default(unique) ] interface Hierarchies : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Hierarchy **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375C-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Dimensions collection"), pointer_default(unique) ] interface Dimensions : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Dimension **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375D-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("CubeDefs collection"), pointer_default(unique) ] interface CubeDefs : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] CubeDef **ppvObject ); } /******************************* Coclasses **********************************************/ [ uuid(228136B0-8BD3-11D0-B4EF-00A0C9138CA4), helpstring("ADOMD Catalog Class") ] coclass Catalog { [default] interface ICatalog; }; //--------------------------------------------------------------------------------------------- [ uuid(228136B8-8BD3-11D0-B4EF-00A0C9138CA4), helpstring("ADOMD Cellset Class") ] coclass Cellset { [default] interface ICellset; }; };