include/MiKTeX207-session.idl

00001 /* session.idl:                                                 -*- IDL -*-
00002 
00003    Copyright (C) 2006-2007 Christian Schenk
00004 
00005    This file is part of the MiKTeX Core Library.
00006 
00007    The MiKTeX Core Library is free software; you can redistribute it
00008    and/or modify it under the terms of the GNU General Public License
00009    as published by the Free Software Foundation; either version 2, or
00010    (at your option) any later version.
00011    
00012    The MiKTeX Core Library is distributed in the hope that it will be
00013    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
00014    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016    
00017    You should have received a copy of the GNU General Public License
00018    along with the MiKTeX Core Library; if not, write to the Free
00019    Software Foundation, 59 Temple Place - Suite 330, Boston, MA
00020    02111-1307, USA. */
00021 
00024 
00025 import "oaidl.idl";
00026 import "ocidl.idl";
00027 
00028 import "miktexidl.idl";
00029 
00030 /* _________________________________________________________________________
00031    
00032    MiKTeXSetupInfo
00033    _________________________________________________________________________ */
00034 
00036 typedef [uuid(A889D812-7E98-4E73-A453-30C9B69A32B1)] struct MiKTeXSetupInfo
00037 {
00039   VARIANT_BOOL sharedSetup;
00041   BSTR version;
00044   LONG series;
00046   BSTR binDirectory;
00048   LONG numRoots;
00050   BSTR installRoot;
00053   BSTR commonConfigRoot;
00056   BSTR commonDataRoot;
00058   BSTR userConfigRoot;
00060   BSTR userDataRoot;
00061 } MiKTeXSetupInfo;
00062 
00063 /* _________________________________________________________________________
00064    
00065    ISession
00066    _________________________________________________________________________ */
00067 
00071 [
00072   object,
00073   uuid(8BE9F539-B949-4C7B-991C-DB6C6F737EC7),
00074   dual,
00075   nonextensible,
00076   helpstring("ISession Interface"),
00077   pointer_default(unique)
00078 ]
00079 interface ISession : IDispatch
00080 {
00083   [
00084     id(1),
00085     helpstring("method RegisterRootDirectories")
00086   ]
00087   HRESULT
00088   RegisterRootDirectories ([in] BSTR rootDirectories);
00089 
00096   [
00097     id(2),
00098     helpstring("method FindPkFile")
00099   ]
00100   HRESULT
00101   FindPkFile ([in] BSTR fontName,
00102               [in] BSTR mode,
00103               [in] LONG dpi,
00104               [out] BSTR * path,
00105               [out,retval] VARIANT_BOOL * found);
00106 
00109   [
00110     id(3),
00111     helpstring("method GetErrorInfo")
00112   ]
00113   HRESULT
00114   GetErrorInfo ([out,retval] ErrorInfo * errorInfo);
00115 
00118   [
00119     id(4),
00120     helpstring("method GetMiKTeXSetupInfo")
00121   ]
00122   HRESULT
00123   GetMiKTeXSetupInfo ([out,retval] MiKTeXSetupInfo * setupInfo);
00124 
00128   [
00129     id(5),
00130     helpstring("method GetRootDirectory")
00131   ]
00132   HRESULT
00133   GetRootDirectory ([in] LONG rootIdx,
00134                     [out,retval] BSTR * rootDirectory);
00135 };
00136 
00137 /* _________________________________________________________________________
00138    
00139    ISession2
00140    _________________________________________________________________________ */
00141 
00145 [
00146   object,
00147   uuid(49C9F0B8-3DF6-4BBA-9DCD-3FE289DF95D8),
00148   dual,
00149   nonextensible,
00150   helpstring("ISession2 Interface"),
00151   pointer_default(unique)
00152 ]
00153 interface ISession2 : ISession
00154 {
00155 
00160   [
00161     id(6),
00162     helpstring("method FindFile")
00163   ]
00164   HRESULT
00165   FindFile ([in] BSTR fileName,
00166             [out] BSTR * path,
00167             [out,retval] VARIANT_BOOL * found);
00168 };
00169 
00170 /* _________________________________________________________________________
00171    
00172    MiKTeXSession2_7
00173    _________________________________________________________________________ */
00174 
00176 [
00177   uuid(8448CA35-07AF-4510-8381-3E96FC39FBF0),
00178   version(1.0),
00179   helpstring("MiKTeX 2.7 Session")
00180 ]
00181 library MiKTeXSession2_7
00182 {
00183   importlib("stdole2.tlb");
00184 
00192   [
00193     uuid(68783EAC-4655-49DB-97D6-E12A9EA29555),
00194     helpstring("MiKTeX 2.7 Session")
00195   ]
00196   coclass MiKTeXSession2_7
00197   {
00198     interface ISession;
00199     [default] interface ISession2;
00200   };
00201 };

Generated on Fri Dec 14 18:27:43 2007 for MiKTeX by  doxygen 1.5.1-p1