Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenindexsrv.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright 2006 Mike McCormack 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 import "objidl.idl"; 00020 /* FIXME: import "filter.idl"; */ 00021 00022 /* 00023 * widl doesn't like the declaration of PFNFILLTEXTBUFFER, so work around it... 00024 * Not sure that function pointers are even legal in idl. 00025 */ 00026 cpp_quote("struct tagTEXT_SOURCE;") 00027 cpp_quote("typedef HRESULT (WINAPI *PFNFILLTEXTBUFFER)(struct tagTEXT_SOURCE *pTextSource);") 00028 cpp_quote("#if 0") 00029 typedef void* PFNFILLTEXTBUFFER; 00030 cpp_quote("#endif") 00031 00032 typedef struct tagTEXT_SOURCE 00033 { 00034 PFNFILLTEXTBUFFER pfnFillTextBuffer; 00035 const WCHAR *awcBuffer; 00036 ULONG iEnd; 00037 ULONG iCur; 00038 } TEXT_SOURCE; 00039 00040 typedef enum tagWORDREP_BREAK_TYPE 00041 { 00042 WORDREP_BREAK_EOW = 0, 00043 WORDREP_BREAK_EOS = 1, 00044 WORDREP_BREAK_EOP = 2, 00045 WORDREP_BREAK_EOC = 3 00046 } WORDREP_BREAK_TYPE; 00047 00048 00049 /***************************************************************************** 00050 * IWordSink interface 00051 */ 00052 [ 00053 uuid(cc907054-c058-101a-b554-08002b33b0e6), 00054 object, 00055 local 00056 ] 00057 interface IWordSink : IUnknown 00058 { 00059 HRESULT PutWord( 00060 [in] ULONG cwc, 00061 [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf, 00062 [in] ULONG cwcSrcLen, 00063 [in] ULONG cwcSrcPos); 00064 HRESULT PutAltWord( 00065 [in] ULONG cwc, 00066 [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf, 00067 [in] ULONG cwcSrcLen, 00068 [in] ULONG cwcSrcPos); 00069 HRESULT StartAltPhrase(void); 00070 HRESULT EndAltPhrase(void); 00071 HRESULT PutBreak( 00072 [in] WORDREP_BREAK_TYPE breakType); 00073 } 00074 00075 /***************************************************************************** 00076 * IPhraseSink interface 00077 */ 00078 [ 00079 uuid(cc906ff0-c058-101a-b554-08002b33b0e6), 00080 object, 00081 local 00082 ] 00083 interface IPhraseSink: IUnknown 00084 { 00085 HRESULT PutSmallPhrase( 00086 [size_is(cwcNoun)][in] const WCHAR *pwcNoun, 00087 [in] ULONG cwcNoun, 00088 [size_is(cwcModifier)][in] const WCHAR *pwcModifier, 00089 [in] ULONG cwcModifier, 00090 [in] ULONG ulAttachmentType); 00091 HRESULT PutPhrase( 00092 [size_is(cwcPhrase)][in] const WCHAR *pwcPhrase, 00093 [in] ULONG cwcPhrase); 00094 } 00095 00096 /***************************************************************************** 00097 * IWordBreaker interface 00098 */ 00099 [ 00100 uuid(d53552c8-77e3-101a-b552-08002b33b0e6), 00101 object, 00102 local 00103 ] 00104 interface IWordBreaker: IUnknown 00105 { 00106 HRESULT Init( 00107 [in] BOOL fQuery, 00108 [in] ULONG ulMaxTokenSize, 00109 [out] BOOL *pfLicense); 00110 HRESULT BreakText( 00111 [in] TEXT_SOURCE *pTextSource, 00112 [in] IWordSink *pWordSink, 00113 [in] IPhraseSink *pPhraseSink); 00114 HRESULT ComposePhrase( 00115 [size_is(cwcNoun)][in] const WCHAR *pwcNoun, 00116 [in] ULONG cwcNoun, 00117 [size_is(cwcModifier)][in] const WCHAR *pwcModifier, 00118 [in] ULONG cwcModifier, 00119 [in] ULONG ulAttachmentType, 00120 [size_is(*pcwcPhrase)][out] WCHAR *pwcPhrase, 00121 [out][in] ULONG *pcwcPhrase); 00122 HRESULT GetLicenseToUse( 00123 [string][out] const WCHAR **ppwcsLicense); 00124 } Generated on Sun May 27 2012 04:31:32 for ReactOS by
1.7.6.1
|