GME
13
|
00001 import "oaidl.idl"; 00002 import "ocidl.idl"; 00003 00004 #include "InterfaceColl.h" 00005 #include "InterfaceVersion.h" 00006 00007 import "Meta.idl"; 00008 import "Mga.idl"; 00009 00010 typedef enum mgautil_error { 00011 [helpstring("ComponentProxy was not initialized with a Dispatch based interpreter")] 00012 E_MGAUTIL_COMPONENTPROXY_NOTINITIALIZED = 0x80737001 00013 } mgautil_error; 00014 00015 // --------------------------- MgaUtil IDL 00016 00017 [ 00018 object, 00019 uuid(461F30B0-3BF0-11D4-B3F0-005004D38590), 00020 dual, 00021 helpstring("IMgaResolver Interface"), 00022 pointer_default(unique) 00023 ] 00024 interface IMgaResolver : IDispatch 00025 { 00026 // clear all accumulated knowledge 00027 [helpstring("method Clear")] 00028 HRESULT Clear(); 00029 00030 [propput, helpstring("property IsInteractive")] 00031 HRESULT IsInteractive([in] VARIANT_BOOL p); 00032 00033 [propget, helpstring("property IsInteractive")] 00034 HRESULT IsInteractive([out, retval] VARIANT_BOOL *p); 00035 00036 [propput, helpstring("property IsStickyEnabled")] 00037 HRESULT IsStickyEnabled([in] VARIANT_BOOL p); 00038 00039 [propget, helpstring("property IsStickyEnabled")] 00040 HRESULT IsStickyEnabled([out, retval] VARIANT_BOOL *p); 00041 00042 [helpstring("getUserOptions")] 00043 HRESULT getUserOptions(); 00044 00045 // --- resolve by names 00046 00047 [propget, helpstring("property FolderByStr")] 00048 HRESULT FolderByStr([in] IMgaFolder *parent, 00049 [in] BSTR kindname, [out, retval] IMgaMetaFolder **p); 00050 00051 [helpstring("getter for property FolderByStr")] 00052 HRESULT GetFolderByStrDisp([in] IMgaFolder *parent, 00053 [in] BSTR kindname, [out, retval] IMgaMetaFolder **p); 00054 00055 [propget, helpstring("property KindByStr")] 00056 HRESULT KindByStr([in] IMgaFolder *parent, 00057 [in] BSTR kindname, [in] objtype_enum objtype, 00058 [out, retval] IMgaMetaFCO **p); 00059 00060 [helpstring("getter for property KindByStr")] 00061 HRESULT GetKindByStrDisp([in] IMgaFolder *parent, 00062 [in] BSTR kindname, [in] objtype_enum objtype, 00063 [out, retval] IMgaMetaFCO **p); 00064 00065 [propget, helpstring("property RoleByStr")] 00066 HRESULT RoleByStr([in] IMgaModel *parent, 00067 [in] BSTR kindname, [in] objtype_enum objtype, 00068 [in] BSTR rolename, [in] BSTR aspect, 00069 [out, retval] IMgaMetaRole **p); 00070 00071 [helpstring("getter for property RoleByStr")] 00072 HRESULT GetRoleByStrDisp([in] IMgaModel *parent, 00073 [in] BSTR kindname, [in] objtype_enum objtype, 00074 [in] BSTR rolename, [in] BSTR aspect, 00075 [out, retval] IMgaMetaRole **p); 00076 00077 [propget, helpstring("property AttrByStr")] 00078 HRESULT AttrByStr([in] IMgaFCO *parent, 00079 [in] BSTR kindname, [out, retval] IMgaMetaAttribute **p); 00080 00081 [helpstring("getter for property AttrByStr")] 00082 HRESULT GetAttrByStrDisp([in] IMgaFCO *parent, 00083 [in] BSTR kindname, [out, retval] IMgaMetaAttribute **p); 00084 00085 // --- resolve by meta objects 00086 00087 [propget, helpstring("property RoleByMeta")] 00088 HRESULT RoleByMeta([in] IMgaModel *parent, 00089 [in] IMgaMetaFCO *p_kind, [in] objtype_enum objtype, 00090 [in] IMgaMetaRole *p_role, [in] IMgaMetaAspect *aspect, 00091 [out, retval] IMgaMetaRole **p); 00092 00093 [helpstring("getter for property RoleByMeta")] 00094 HRESULT GetRoleByMetaDisp([in] IMgaModel *parent, 00095 [in] IMgaMetaFCO *p_kind, [in] objtype_enum objtype, 00096 [in] IMgaMetaRole *p_role, [in] IMgaMetaAspect *aspect, 00097 [out, retval] IMgaMetaRole **p); 00098 00099 00100 [propget, helpstring("property ConnRoleByMeta")] 00101 HRESULT ConnRoleByMeta([in] IMgaModel *parent, 00102 [in] IMgaMetaAspect *aspect, 00103 [in] IMgaFCO * src, [in] IMgaFCO * src_port, 00104 [in] IMgaFCO * dst, [in] IMgaFCO * dst_port, 00105 [out, retval] IMgaMetaRole **p); 00106 00107 [helpstring("getter for property ConnRoleByMeta")] 00108 HRESULT GetConnRoleByMetaDisp([in] IMgaModel *parent, 00109 [in] IMgaMetaAspect *aspect, 00110 [in] IMgaFCO * src, [in] IMgaFCO * src_port, 00111 [in] IMgaFCO * dst, [in] IMgaFCO * dst_port, 00112 [out, retval] IMgaMetaRole **p); 00113 00114 [propget, helpstring("property RefRoleByMeta")] 00115 HRESULT RefRoleByMeta([in] IMgaModel *parent, 00116 [in] IMgaMetaAspect *aspect, [in] IMgaFCO * src, 00117 [out, retval] IMgaMetaRole **p); 00118 00119 [helpstring("getter for property RefRoleByMeta")] 00120 HRESULT GetRefRoleByMetaDisp([in] IMgaModel *parent, 00121 [in] IMgaMetaAspect *aspect, [in] IMgaFCO * src, 00122 [out, retval] IMgaMetaRole **p); 00123 00124 // -- collection helper 00125 00126 [propget, helpstring("property RolesByMetas")] 00127 HRESULT RolesByMetas([in] IMgaModel *dst_parent, 00128 [in] IMgaFCOs *Src, [in] IMgaMetaAspect * aspect, 00129 [in] BSTR sz_aspect, [out, retval] IMgaMetaRoles ** p); 00130 00131 [helpstring("property RolesByMetas")] 00132 HRESULT GetRolesByMetasDisp([in] IMgaModel *dst_parent, 00133 [in] IMgaFCOs *Src, [in] IMgaMetaAspect * aspect, 00134 [in] BSTR sz_aspect, [out, retval] IMgaMetaRoles ** p); 00135 00136 00137 }; 00138 00139 00140 typedef enum regaccessmode_enum { 00141 REGACCESS_NONE = 0, // only used as return value from RegistryStatus 00142 REGACCESS_USER = 1, // * 00143 REGACCESS_SYSTEM = 2, // * 00144 REGACCESS_PRIORITY = 5, // valid only for read ops 00145 REGACCESS_BOTH = 3, // * valid only for write and list read ops 00146 REGACCESS_TEST = 8, // valid only for write ops 00147 // * = valid argument for regsvr32 /i 00148 } regaccessmode_enum; 00149 00150 00151 typedef enum edgesmoothmode_enum { // For clues see SetSmoothingMode SmoothingMode help in MSDN 00152 EdgeSmooth_NoSmooth = 0, // This is the system default 00153 EdgeSmooth_HighSpeedMode = 1, // Smoothing but better speed than high quality mode 00154 EdgeSmooth_HighQualityMode = 2 // The best quality 00155 } edgesmoothmode_enum; 00156 00157 typedef enum fontsmoothmode_enum { // For clues see SetTextRenderingHint TextRenderingHint help in MSDN 00158 FontSmooth_SystemDefault = 0, 00159 FontSmooth_SingleBitPerPixelGridFit = 1, 00160 FontSmooth_SingleBitPerPixel = 2, 00161 FontSmooth_AntiAliasGridFit = 3, 00162 FontSmooth_AntiAlias = 4, 00163 FontSmooth_ClearTypeGridFit = 5 00164 } fontsmoothmode_enum; 00165 00166 00167 [ 00168 object, 00169 uuid(F1D6BB05-42EE-11D4-B3F4-005004D38590), 00170 dual, 00171 helpstring("IMgaRegistrar Interface"), 00172 pointer_default(unique) 00173 ] 00174 interface IMgaRegistrar : IDispatch 00175 { 00176 // --- IconPath GME settings 00177 // path is a ";" separated list 00178 [propget, helpstring("property IconPath")] 00179 HRESULT IconPath([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00180 00181 [propput, helpstring("property IconPath")] 00182 HRESULT IconPath([in] regaccessmode_enum mode, [in] BSTR path); 00183 00184 [helpstring("getter for property IconPath")] 00185 HRESULT GetIconPathDisp([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00186 00187 [helpstring("setter for property IconPath")] 00188 HRESULT SetIconPathDisp([in] regaccessmode_enum mode, [in] BSTR path); 00189 00190 // --- Multiview GME settings 00191 [propget, helpstring("property ShowMultipleView")] 00192 HRESULT ShowMultipleView([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00193 00194 [propput, helpstring("property ShowMultipleView")] 00195 HRESULT ShowMultipleView([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00196 00197 [helpstring("getter for property ShowMultipleView")] 00198 HRESULT GetShowMultipleViewDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00199 00200 [helpstring("setter for property ShowMultipleView")] 00201 HRESULT SetShowMultipleViewDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00202 00203 // --- Logging GME settings 00204 [propget, helpstring("property EventLoggingEnabled")] 00205 HRESULT EventLoggingEnabled([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00206 00207 [propput, helpstring("property EventLoggingEnabled")] 00208 HRESULT EventLoggingEnabled([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00209 00210 [helpstring("getter for property EventLoggingEnabled")] 00211 HRESULT GetEventLoggingEnabledDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00212 00213 [helpstring("setter for property EventLoggingEnabled")] 00214 HRESULT SetEventLoggingEnabledDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00215 00216 // --- Autosave GME settings 00217 [propget, helpstring("property AutosaveEnabled")] 00218 HRESULT AutosaveEnabled([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00219 00220 [propput, helpstring("property AutosaveEnabled")] 00221 HRESULT AutosaveEnabled([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00222 00223 [helpstring("getter for property AutosaveEnabled")] 00224 HRESULT GetAutosaveEnabledDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00225 00226 [helpstring("setter for property AutosaveEnabled")] 00227 HRESULT SetAutosaveEnabledDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00228 00229 [propget, helpstring("property AutosaveFreq")] 00230 HRESULT AutosaveFreq([in] regaccessmode_enum mode, [out, retval] long *secs); 00231 00232 [propput, helpstring("property AutosaveFreq")] 00233 HRESULT AutosaveFreq([in] regaccessmode_enum mode, [in] long secs); 00234 00235 [helpstring("getter for property AutosaveFreq")] 00236 HRESULT GetAutosaveFreqDisp([in] regaccessmode_enum mode, [out, retval] long *secs); 00237 00238 [helpstring("property AutosaveFreq")] 00239 HRESULT SetAutosaveFreqDisp([in] regaccessmode_enum mode, [in] long secs); 00240 00241 [propget, helpstring("property AutosaveUseDir")] 00242 HRESULT AutosaveUseDir([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *use); 00243 00244 [propput, helpstring("property AutosaveUseDir")] 00245 HRESULT AutosaveUseDir([in] regaccessmode_enum mode, [in] VARIANT_BOOL use); 00246 00247 [helpstring("getter for property AutosaveUseDir")] 00248 HRESULT GetAutosaveUseDirDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *use); 00249 00250 [helpstring("setter for property AutosaveUseDir")] 00251 HRESULT SetAutosaveUseDirDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL use); 00252 00253 [propget, helpstring("property AutosaveDir")] 00254 HRESULT AutosaveDir([in] regaccessmode_enum mode, [out, retval] BSTR *dir); 00255 00256 [propput, helpstring("property AutosaveDir")] 00257 HRESULT AutosaveDir([in] regaccessmode_enum mode, [in] BSTR dir); 00258 00259 [helpstring("getter for property AutosaveDir")] 00260 HRESULT GetAutosaveDirDisp([in] regaccessmode_enum mode, [out, retval] BSTR *dir); 00261 00262 [helpstring("setter for property AutosaveDir")] 00263 HRESULT SetAutosaveDirDisp([in] regaccessmode_enum mode, [in] BSTR dir); 00264 00265 // --- External Editor settings 00266 [propget, helpstring("property ExternalEditorEnabled")] 00267 HRESULT ExternalEditorEnabled([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00268 00269 [propput, helpstring("property ExternalEditorEnabled")] 00270 HRESULT ExternalEditorEnabled([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00271 00272 [helpstring("getter for property ExternalEditorEnabled")] 00273 HRESULT GetExternalEditorEnabledDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00274 00275 [helpstring("setter for property ExternalEditorEnabled")] 00276 HRESULT SetExternalEditorEnabledDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00277 00278 [propget, helpstring("property ExternalEditor")] 00279 HRESULT ExternalEditor([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00280 00281 [propput, helpstring("property ExternalEditor")] 00282 HRESULT ExternalEditor([in] regaccessmode_enum mode, [in] BSTR path); 00283 00284 [helpstring("getter for property ExternalEditor")] 00285 HRESULT GetExternalEditorDisp([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00286 00287 [helpstring("setter for property ExternalEditor")] 00288 HRESULT SetExternalEditorDisp([in] regaccessmode_enum mode, [in] BSTR path); 00289 00290 // --- AutoRouter 00291 [propget, helpstring("property UseAutoRouting")] 00292 HRESULT UseAutoRouting([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00293 00294 [propput, helpstring("property UseAutoRouting")] 00295 HRESULT UseAutoRouting([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00296 00297 [helpstring("getter for property UseAutoRouting")] 00298 HRESULT GetUseAutoRoutingDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00299 00300 [helpstring("setter for property UseAutoRouting")] 00301 HRESULT SetUseAutoRoutingDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00302 00303 [propget, helpstring("property LabelAvoidance")] 00304 HRESULT LabelAvoidance([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00305 00306 [propput, helpstring("property LabelAvoidance")] 00307 HRESULT LabelAvoidance([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00308 00309 [helpstring("getter for property LabelAvoidance")] 00310 HRESULT GetLabelAvoidanceDisp([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00311 00312 [helpstring("setter for property LabelAvoidance")] 00313 HRESULT SetLabelAvoidanceDisp([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00314 00315 // --- Scripting 00316 [propget, helpstring("property ScriptEngine")] 00317 HRESULT ScriptEngine([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00318 00319 [propput, helpstring("property ScriptEngine")] 00320 HRESULT ScriptEngine([in] regaccessmode_enum mode, [in] BSTR path); 00321 00322 [helpstring("getter for property ScriptEngine")] 00323 HRESULT GetScriptEngineDisp([in] regaccessmode_enum mode, [out, retval] BSTR *path); 00324 00325 [helpstring("setter for property ScriptEngine")] 00326 HRESULT SetScriptEngineDisp([in] regaccessmode_enum mode, [in] BSTR path); 00327 00328 [helpstring("get DefZoomLevel")] 00329 HRESULT GetDefZoomLevel([in] regaccessmode_enum mode, [out, retval] BSTR *zlevel); 00330 00331 [helpstring("set DefZoomLevel")] 00332 HRESULT SetDefZoomLevel([in] regaccessmode_enum mode, [in] BSTR zlevel); 00333 00334 // --- Send Mouse Over Object Notification 00335 [helpstring("property MouseOverNotify")] 00336 HRESULT GetMouseOverNotify([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00337 00338 [helpstring("property SendMouseOverObjNotif")] 00339 HRESULT SetMouseOverNotify([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00340 00341 [helpstring("get real number format string")] 00342 HRESULT GetRealNmbFmtStr([in] regaccessmode_enum mode, [out, retval] BSTR *fmtStr); 00343 00344 [helpstring("set real number format string")] 00345 HRESULT SetRealNmbFmtStr([in] regaccessmode_enum mode, [in] BSTR fmtStr); 00346 00347 // --- TimeStamping Messages in Console Window 00348 [helpstring("getter method for TimeStamping")] 00349 HRESULT GetTimeStamping([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00350 00351 [helpstring("setter method for TimeStamping")] 00352 HRESULT SetTimeStamping([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00353 00354 // --- ModelHistory Navigation enabled 00355 [helpstring("is Navigation enabled")] 00356 HRESULT GetNavigation([in] regaccessmode_enum mode, [out, retval] VARIANT_BOOL *enabled); 00357 00358 [helpstring("setter for Navigation")] 00359 HRESULT SetNavigation([in] regaccessmode_enum mode, [in] VARIANT_BOOL enabled); 00360 00361 // --- UndoSize preference 00362 [helpstring("getter for Undo size queue")] 00363 HRESULT GetUndoQueueSize(regaccessmode_enum mode, BSTR *queuesz); 00364 00365 [helpstring("setter for Undo size queue. Valid if >=1. Affects GME performance. The smaller the faster.")] 00366 HRESULT SetUndoQueueSize(regaccessmode_enum mode, BSTR queuesz); 00367 00368 // --- AntiAlias preferences 00369 [propget, helpstring("property EdgeSmoothMode")] 00370 HRESULT EdgeSmoothMode([in] regaccessmode_enum mode, [out, retval] edgesmoothmode_enum* smoothMode); 00371 00372 [propput, helpstring("property EdgeSmoothMode")] 00373 HRESULT EdgeSmoothMode([in] regaccessmode_enum mode, [in] edgesmoothmode_enum smoothMode); 00374 00375 [helpstring("getter for Edge smooth mode (anti alias)")] 00376 HRESULT GetEdgeSmoothModeDisp([in] regaccessmode_enum mode, [out, retval] edgesmoothmode_enum* smoothMode); 00377 00378 [helpstring("setter for Edge smooth mode (anti alias).")] 00379 HRESULT SetEdgeSmoothModeDisp([in] regaccessmode_enum mode, [in] edgesmoothmode_enum smoothMode); 00380 00381 [propget, helpstring("property FontSmoothMode")] 00382 HRESULT FontSmoothMode([in] regaccessmode_enum mode, [out, retval] fontsmoothmode_enum* smoothMode); 00383 00384 [propput, helpstring("property FontSmoothMode")] 00385 HRESULT FontSmoothMode([in] regaccessmode_enum mode, [in] fontsmoothmode_enum smoothMode); 00386 00387 [helpstring("getter for Font smooth mode (anti alias)")] 00388 HRESULT GetFontSmoothModeDisp([in] regaccessmode_enum mode, [out, retval] fontsmoothmode_enum* smoothMode); 00389 00390 [helpstring("setter for Font smooth mode (anti alias).")] 00391 HRESULT SetFontSmoothModeDisp([in] regaccessmode_enum mode, [in] fontsmoothmode_enum smoothMode); 00392 00393 // --- Paradigms 00394 00395 // names() As String 00396 // guid(0 To 15) As Byte 00397 [propget, helpstring("property Paradigms")] 00398 HRESULT Paradigms([in] regaccessmode_enum mode, [out, retval] VARIANT *names); 00399 00400 [helpstring("getter for property Paradigms")] 00401 HRESULT GetParadigmsDisp([in] regaccessmode_enum mode, [out, retval] VARIANT *names); 00402 00403 [helpstring("method RegisterParadigmFromData")] 00404 HRESULT RegisterParadigmFromData([in] BSTR ConnStr, [out] BSTR *newname, [in] regaccessmode_enum mode); 00405 00406 [helpstring("method RegisterParadigmFromData - Dispatch compatible signature")] 00407 HRESULT RegisterParadigmFromDataDisp([in] BSTR ConnStr, [in] regaccessmode_enum mode, [out, retval] BSTR *newname); 00408 00409 [helpstring("method RegisterParadigm")] 00410 HRESULT RegisterParadigm([in] BSTR name, [in] BSTR ConnStr, [in] BSTR ver, [in] VARIANT guid, [in] regaccessmode_enum mode); 00411 00412 [helpstring("method QueryParadigm")] 00413 HRESULT QueryParadigm([in] BSTR name, [out] BSTR *ConnStr, [in,out] VARIANT *guid, [in] regaccessmode_enum mode); 00414 00415 [propget, helpstring("property QueryParadigmGUIDString")] 00416 HRESULT ParadigmGUIDString([in] regaccessmode_enum mode, [in] BSTR name, [out, retval] BSTR *guidstr); 00417 00418 [helpstring("getter for property QueryParadigmGUIDString")] 00419 HRESULT GetParadigmGUIDStringDisp([in] regaccessmode_enum mode, [in] BSTR name, [out, retval] BSTR *guidstr); 00420 00421 [helpstring("method QueryParadigmAllGUIDs - returns GUID strings")] 00422 HRESULT QueryParadigmAllGUIDs([in] BSTR name, [out] VARIANT *names, [in] regaccessmode_enum mode); 00423 00424 [helpstring("method UnregisterParadigm")] 00425 HRESULT UnregisterParadigm([in] BSTR name, [in] regaccessmode_enum mode); 00426 00427 [helpstring("method UnregisterParadigmGUID")] 00428 HRESULT UnregisterParadigmGUID([in] BSTR name, [in] VARIANT guid, [in] regaccessmode_enum mode); 00429 00430 [helpstring("method VersionFromGUID")] 00431 HRESULT VersionFromGUID([in] BSTR name, [in] VARIANT guid, [out] BSTR *ver, [in] regaccessmode_enum mode); 00432 00433 [helpstring("method GUIDFromVersion")] 00434 HRESULT GUIDFromVersion([in] BSTR name, [in] BSTR ver, [out] VARIANT* guid, [in] regaccessmode_enum mode); 00435 00436 // --- Components 00437 00438 // progids() As String 00439 [propget, helpstring("property Components")] 00440 HRESULT Components([in] regaccessmode_enum mode, [out, retval] VARIANT *progids); 00441 00442 [helpstring("getter for property Components")] 00443 HRESULT GetComponentsDisp([in] regaccessmode_enum mode, [out, retval] VARIANT *progids); 00444 00445 [helpstring("method RegisterComponent")] 00446 HRESULT RegisterComponent([in] BSTR ProgID, [in] componenttype_enum type, [in] BSTR desc, [in] regaccessmode_enum mode); 00447 00448 [helpstring("method QueryComponent")] 00449 HRESULT QueryComponent([in] BSTR ProgID, [out] componenttype_enum *type, [out] BSTR *desc, [in] regaccessmode_enum mode); 00450 00451 [helpstring("method UnregisterComponent")] 00452 HRESULT UnregisterComponent([in] BSTR ProgID, [in] regaccessmode_enum mode); 00453 00454 [propput, helpstring("property ComponentExtraInfo")] 00455 HRESULT ComponentExtraInfo([in] regaccessmode_enum mode, 00456 [in] BSTR ProgID, [in] BSTR name, 00457 [in] BSTR newVal); 00458 00459 [propget, helpstring("property ComponentExtraInfo")] 00460 HRESULT ComponentExtraInfo([in] regaccessmode_enum mode, 00461 [in] BSTR ProgID, [in] BSTR name, 00462 [out, retval] BSTR *pVal); 00463 00464 [helpstring("setter for property ComponentExtraInfo")] 00465 HRESULT SetComponentExtraInfoDisp([in] regaccessmode_enum mode, 00466 [in] BSTR ProgID, [in] BSTR name, 00467 [in] BSTR newVal); 00468 00469 [helpstring("getter for property ComponentExtraInfo")] 00470 HRESULT GetComponentExtraInfoDisp([in] regaccessmode_enum mode, 00471 [in] BSTR ProgID, [in] BSTR name, 00472 [out, retval] BSTR *pVal); 00473 00474 [propget, helpstring("property LocalDllPath")] 00475 HRESULT LocalDllPath([in] BSTR ProgID, [out, retval] BSTR *pVal); 00476 00477 [helpstring("getter for property LocalDllPath")] 00478 HRESULT GetLocalDllPathDisp([in] BSTR ProgID, [out, retval] BSTR *pVal); 00479 00480 // --- Associate 00481 00482 // progids() As String 00483 [propget, helpstring("method AssociatedComponents")] 00484 HRESULT AssociatedComponents([in] BSTR Paradigm, 00485 [in] componenttype_enum type, [in] regaccessmode_enum mode, [out, retval] VARIANT *progids); 00486 00487 [helpstring("getter for method AssociatedComponents")] 00488 HRESULT GetAssociatedComponentsDisp([in] BSTR Paradigm, 00489 [in] componenttype_enum type, [in] regaccessmode_enum mode, [out, retval] VARIANT *progids); 00490 00491 // paradigms() As String 00492 [propget, helpstring("method AssociatedParadigms")] 00493 HRESULT AssociatedParadigms([in] BSTR ProgID, 00494 [in] regaccessmode_enum mode, [out, retval] VARIANT *paradigms); 00495 00496 [helpstring("getter for property AssociatedParadigms")] 00497 HRESULT GetAssociatedParadigmsDisp([in] BSTR ProgID, 00498 [in] regaccessmode_enum mode, [out, retval] VARIANT *paradigms); 00499 00500 [helpstring("method Associate")] 00501 HRESULT Associate([in] BSTR ProgID, [in] BSTR Paradigm, [in] regaccessmode_enum mode); 00502 00503 [helpstring("method Disassociate")] 00504 HRESULT Disassociate([in] BSTR ProgID, [in] BSTR Paradigm, [in] regaccessmode_enum mode); 00505 00506 [helpstring("method IsAssociated")] 00507 HRESULT IsAssociated([in] BSTR ProgID, [in] BSTR Paradigm, 00508 [out] VARIANT_BOOL *is_ass, [out] VARIANT_BOOL *can_ass, [in] regaccessmode_enum mode); 00509 // --- Actions 00510 00511 // registers each component in library 00512 // do not call it from DLLRegisterServer 00513 [helpstring("method RegisterComponentLibrary")] 00514 HRESULT RegisterComponentLibrary([in] BSTR path, [in] regaccessmode_enum mode); 00515 00516 [helpstring("method UnregisterComponentLibrary")] 00517 HRESULT UnregisterComponentLibrary([in] BSTR path, [in] regaccessmode_enum mode); 00518 }; 00519 00520 typedef enum metadlg_enum 00521 { 00522 METADLG_NONE = 0x0000, 00523 METADLG_NEWFILE = 0x0001, // new file 00524 METADLG_PARREG = 0x0002, // register paradigms 00525 } metadlg_enum; 00526 00527 typedef enum componentdlg_enum 00528 { 00529 COMPONENTDLG_NONE = 0x0000, 00530 COMPONENTDLG_INTERP = 0x0001, 00531 } componentdlg_enum; 00532 00533 [ 00534 object, 00535 uuid(D03EC326-447B-11D4-B3F6-005004D38590), 00536 dual, 00537 helpstring("IMgaLauncher Interface"), 00538 pointer_default(unique) 00539 ] 00540 interface IMgaLauncher : IDispatch 00541 { 00542 // --- Properties 00543 00544 [propput, helpstring("property ParadigmName")] 00545 HRESULT ParadigmName([in] BSTR p); 00546 00547 [propput, helpstring("property ComponentType")] 00548 HRESULT ComponentType([in] componenttype_enum type); 00549 00550 [propput, helpstring("property Parameter")] 00551 HRESULT Parameter([in] VARIANT p); 00552 00553 [propget, helpstring("property ParadigmName")] 00554 HRESULT ParadigmName([out, retval] BSTR *p); 00555 00556 [propget, helpstring("property ConnStr")] 00557 HRESULT ConnStr([out, retval] BSTR *p); 00558 00559 [propget, helpstring("property Paradigm")] 00560 HRESULT Paradigm([out, retval] IMgaMetaProject **p); 00561 00562 [propget, helpstring("property ProgID")] 00563 HRESULT ProgID([out, retval] BSTR *p); 00564 00565 // --- Dialogs 00566 00567 [helpstring("method MetaDlg")] 00568 HRESULT MetaDlg(metadlg_enum flags); 00569 00570 [helpstring("method GmeDlg")] 00571 HRESULT GmeDlg(); 00572 00573 [helpstring("method ComponentDlg")] 00574 HRESULT ComponentDlg(componentdlg_enum flags); 00575 00576 [helpstring("method PropDlg")] 00577 HRESULT PropDlg([in] IMgaObject * obj); 00578 00579 [helpstring("method AttrDlg")] 00580 HRESULT AttrDlg([in] IMgaObject * obj); 00581 00582 [helpstring("method ShowHelp")] 00583 HRESULT ShowHelp([in] IMgaObject * obj); 00584 00585 [helpstring("method RegistryBrowser")] 00586 HRESULT RegistryBrowser([in] IMgaObject * obj); 00587 00588 [helpstring("method AnnotationBrowser")] 00589 HRESULT AnnotationBrowser([in] IMgaObject * obj, [in] IMgaRegNode * focus); 00590 00591 // --- Other stuff 00592 00593 [helpstring("method RunComponent")] 00594 HRESULT RunComponent([in] BSTR ProgID, [in] IMgaProject *p, 00595 [in] IMgaFCO *focusobj, [in] IMgaFCOs *selectedobjs, [in] long param); 00596 }; 00597 00598 [ 00599 object, 00600 uuid(D0317326-447B-12D4-B3F6-005004D38590), 00601 helpstring("IMgaProgressDlg Interface"), 00602 pointer_default(unique) 00603 ] 00604 interface IMgaProgressDlg : IUnknown 00605 { 00606 [helpstring("method SetTitle")] 00607 HRESULT SetTitle([in] BSTR title); 00608 00609 // lines: 0, 1 00610 [helpstring("method SetLine")] 00611 HRESULT SetLine([in] int line, [in] BSTR msg); 00612 00613 [helpstring("method StartProgressDialog")] 00614 HRESULT StartProgressDialog([in] HWND hwndParent); 00615 00616 [helpstring("method HasUserCancelled")] 00617 HRESULT HasUserCancelled([out, retval] VARIANT_BOOL *p); 00618 00619 [helpstring("method SetProgress")] 00620 HRESULT SetProgress([in] long completed, [in] long total); 00621 00622 [helpstring("method StopProgressDialog")] 00623 HRESULT StopProgressDialog(); 00624 }; 00625 00626 [ 00627 object, 00628 uuid(FF01497A-36EB-4EA7-BE44-2FA98BD703DB), 00629 00630 helpstring("IMgaComponentProxy Interface"), 00631 pointer_default(unique) 00632 ] 00633 interface IMgaComponentProxy : IUnknown 00634 { 00635 [propput, helpstring("property DispatchComponent")] 00636 HRESULT DispatchComponent([in] IDispatch *component); 00637 }; 00638 00639 [ 00640 object, 00641 uuid(74348E5A-C76D-4c2e-88D5-D968C01CE432), 00642 dual, 00643 helpstring("IMgaClosure Interface"), 00644 pointer_default(unique) 00645 ] 00646 interface IMgaClosure : IDispatch 00647 { 00648 [helpstring("method GetLastClosureId - returns the last closure id stored in the rootfolder's registry")] 00649 HRESULT GetLastClosureId 00650 ( [in] IMgaProject* p 00651 , [out, retval] long* p_pMarkWith); 00652 00653 [helpstring("method PutLastClosureId - saves the new last id")] 00654 HRESULT PutLastClosureId 00655 ( [in] IMgaProject* p 00656 , [in] long p_iMarkWith); 00657 00658 [helpstring("method SelectiveClosure")] 00659 HRESULT SelectiveClosureDlg 00660 ( [in] VARIANT_BOOL folder_containment_needed 00661 , [out] VARIANT_BOOL* refers_to, [out] VARIANT_BOOL* referred_by 00662 , [out] VARIANT_BOOL* connections, [out] VARIANT_BOOL* conns_through_refport 00663 , [out] VARIANT_BOOL* set_members, [out] VARIANT_BOOL* member_of_sets 00664 , [out] VARIANT_BOOL* model_containment, [out] VARIANT_BOOL* part_of_models 00665 , [out] VARIANT_BOOL* folder_containment, [out] VARIANT_BOOL* part_of_folders 00666 , [out] VARIANT_BOOL* base_type_of, [out] VARIANT_BOOL* derived_types_of 00667 , [out] long* library_element_handling // 0: stubs, 1: stop, 2: continue 00668 , [out] long* wrapping // 0: miniproject, 1: automatic, 2: as is 00669 , [out] long* kind_filter // -1 = all, otherwise calculate the 0b000rsamf mask, where f = Folders, m = Models, a = Atoms, s = Sets, r = References 00670 , [in, out] long* mark_value // -1 = do not mark, otherwise mark objects' registry with marker value specified by the user 00671 , [out] long* options // special value 00672 , [out] VARIANT_BOOL* direction_down // main direction to go in the hierarchy 00673 , [out] VARIANT_BOOL* copy_to_file // either file or clipboard 00674 , [out] VARIANT_BOOL* ok_pressed // how ended the dialog? 00675 , [out] BSTR* file_name_selected // the user provided filename 00676 ); 00677 00678 HRESULT SelectiveClosureCalc 00679 ( [in] IMgaFCOs *init_sel_fcos , [in] IMgaFolders *init_sel_folders 00680 , [in] VARIANT_BOOL refers_to , [in] VARIANT_BOOL referred_by 00681 , [in] VARIANT_BOOL connections , [in] VARIANT_BOOL conns_through_refport 00682 , [in] VARIANT_BOOL set_members , [in] VARIANT_BOOL member_of_sets 00683 , [in] VARIANT_BOOL model_containment , [in] VARIANT_BOOL part_of_models 00684 , [in] VARIANT_BOOL folder_containment, [in] VARIANT_BOOL part_of_folders 00685 , [in] VARIANT_BOOL base_type_of , [in] VARIANT_BOOL derived_types_of 00686 , [in] long library_element_handling // 0: stubs, 1: stop, 2: continue 00687 , [in] long wrapping // 0: miniproject, 1: automatic, 2: as is 00688 , [in] long kind_filter // -1 = all, otherwise calculate the 0b000rsamf mask, where f = Folders, m = Models, a = Atoms, s = Sets, r = References 00689 , [in] long mark_value // -1 = do not mark, otherwise mark objects' registry selected in the closure 00690 , [in] VARIANT_BOOL direction_down 00691 , [out] IMgaFCOs **sel_fcos , [out] IMgaFolders **sel_folders 00692 , [out] IMgaFCOs **top_fcos , [out] IMgaFolders **top_folders 00693 , [out] VARIANT_BOOL* top_collections_filled 00694 , [out] BSTR* acc_kinds 00695 ); 00696 00697 00698 [helpstring("method SmartCopy")] 00699 HRESULT SmartCopy( 00700 [in] IMgaFCOs *init_sel_fcos, [in] IMgaFolders *init_sel_folders, 00701 [out] IMgaFCOs **sel_fcos, [out] IMgaFolders **sel_folders, 00702 [out] IMgaFCOs **top_fcos, [out] IMgaFolders **top_folders, 00703 [in] int folder_containment, 00704 [out] long * options, 00705 [out] BSTR *acckinds, 00706 [out] BSTR *path 00707 ); 00708 }; 00709 00710 [ 00711 object, 00712 uuid(9D46C230-31A5-4248-B61E-4223FA6A7F7A), 00713 dual, 00714 helpstring("IMgaEventLogger Interface"), 00715 pointer_default(unique) 00716 ] 00717 interface IMgaEventLogger : IDispatch 00718 00719 { 00720 00721 [helpstring("method LogEvent")] 00722 HRESULT LogEvent([in] BSTR eventMsg); 00723 00724 [helpstring("method StartLogging")] 00725 HRESULT StartLogging(); 00726 00727 [helpstring("method StopLogging")] 00728 HRESULT StopLogging(); 00729 00730 [helpstring("method EmergencyEvent")] 00731 HRESULT EmergencyEvent(); 00732 00733 } 00734