include/MiKTeX206-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 {
00038   VARIANT_BOOL sharedSetup;
00039   BSTR version;
00040   LONG series;
00041   BSTR binDirectory;
00042   LONG numRoots;
00043   BSTR installRoot;
00044   BSTR commonConfigRoot;
00045   BSTR commonDataRoot;
00046   BSTR userConfigRoot;
00047   BSTR userDataRoot;
00048 } MiKTeXSetupInfo;
00049 
00050 /* _________________________________________________________________________
00051    
00052    ISession
00053    _________________________________________________________________________ */
00054 
00058 [
00059   object,
00060   uuid(8BE9F539-B949-4C7B-991C-DB6C6F737EC7),
00061   dual,
00062   nonextensible,
00063   helpstring("ISession Interface"),
00064   pointer_default(unique)
00065 ]
00066 interface ISession : IDispatch
00067 {
00070   [
00071     id(1),
00072     helpstring("method RegisterRootDirectories")
00073   ]
00074   HRESULT
00075   RegisterRootDirectories ([in] BSTR rootDirectories);
00076 
00083   [
00084     id(2),
00085     helpstring("method FindPkFile")
00086   ]
00087   HRESULT
00088   FindPkFile ([in] BSTR fontName,
00089               [in] BSTR mode,
00090               [in] LONG dpi,
00091               [out] BSTR * path,
00092               [out,retval] VARIANT_BOOL * found);
00093 
00096   [
00097     id(3),
00098     helpstring("method GetErrorInfo")
00099   ]
00100   HRESULT
00101   GetErrorInfo ([out,retval] ErrorInfo * errorInfo);
00102 
00103   [
00104     id(4),
00105     helpstring("method GetMiKTeXSetupInfo")
00106   ]
00107   HRESULT
00108   GetMiKTeXSetupInfo ([out,retval] MiKTeXSetupInfo * setupInfo);
00109 
00110   [
00111     id(5),
00112     helpstring("method GetMiKTeXSetupInfo")
00113   ]
00114   HRESULT
00115   GetRootDirectory ([in] LONG rootIdx,
00116                     [out,retval] BSTR * rootDirectory);
00117 };
00118 
00119 /* _________________________________________________________________________
00120    
00121    ISession2
00122    _________________________________________________________________________ */
00123 
00127 [
00128   object,
00129   uuid(49C9F0B8-3DF6-4BBA-9DCD-3FE289DF95D8),
00130   dual,
00131   nonextensible,
00132   helpstring("ISession2 Interface"),
00133   pointer_default(unique)
00134 ]
00135 interface ISession2 : ISession
00136 {
00137 
00142   [
00143     id(6),
00144     helpstring("method FindFile")
00145   ]
00146   HRESULT
00147   FindFile ([in] BSTR fileName,
00148             [out] BSTR * path,
00149             [out,retval] VARIANT_BOOL * found);
00150 };
00151 
00152 /* _________________________________________________________________________
00153    
00154    MiKTeXSession2_6
00155    _________________________________________________________________________ */
00156 
00158 [
00159   uuid(4C28CF19-0EC8-42AF-B901-CDCCCCE420FB),
00160   version(1.0),
00161   helpstring("MiKTeX 2.6 Session")
00162 ]
00163 library MiKTeXSession2_6
00164 {
00165   importlib("stdole2.tlb");
00166 
00170   [
00171     uuid(DE6D4D25-4E98-488D-91B2-E97CC319764B),
00172     helpstring("MiKTeX 2.6 Session")
00173   ]
00174   coclass MiKTeXSession2_6
00175   {
00176     interface ISession;
00177     [default] interface ISession2;
00178   };
00179 };

Generated on Tue May 29 21:24:53 2007 for MiKTeX by  doxygen 1.5.1-p1