mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 06:06:13 +00:00
102 lines
3.1 KiB
Text
102 lines
3.1 KiB
Text
|
/*
|
||
|
* Copyright 2019 Alistair Leslie-Hughes
|
||
|
*
|
||
|
* This library is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU Lesser General Public
|
||
|
* License as published by the Free Software Foundation; either
|
||
|
* version 2.1 of the License, or (at your option) any later version.
|
||
|
*
|
||
|
* This library is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
* Lesser General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU Lesser General Public
|
||
|
* License along with this library; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||
|
*/
|
||
|
|
||
|
import "unknwn.idl";
|
||
|
import "objidl.idl";
|
||
|
import "propidl.idl";
|
||
|
|
||
|
typedef struct tagFULLPROPSPEC
|
||
|
{
|
||
|
GUID guidPropSet;
|
||
|
PROPSPEC psProperty;
|
||
|
} FULLPROPSPEC;
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(89bcb740-6119-101a-bcb7-00dd010655af),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IFilter : IUnknown
|
||
|
{
|
||
|
typedef enum tagIFILTER_INIT
|
||
|
{
|
||
|
IFILTER_INIT_CANON_PARAGRAPHS = 1,
|
||
|
IFILTER_INIT_HARD_LINE_BREAKS = 2,
|
||
|
IFILTER_INIT_CANON_HYPHENS = 4,
|
||
|
IFILTER_INIT_CANON_SPACES = 8,
|
||
|
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
|
||
|
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
|
||
|
IFILTER_INIT_INDEXING_ONLY = 64,
|
||
|
IFILTER_INIT_SEARCH_LINKS = 128,
|
||
|
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 256,
|
||
|
IFILTER_INIT_FILTER_OWNED_VALUE_OK = 512,
|
||
|
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 1024,
|
||
|
IFILTER_INIT_DISABLE_EMBEDDED = 2048,
|
||
|
IFILTER_INIT_EMIT_FORMATTING = 4096
|
||
|
} IFILTER_INIT;
|
||
|
|
||
|
typedef enum tagIFILTER_FLAGS
|
||
|
{
|
||
|
IFILTER_FLAGS_OLE_PROPERTIES = 1
|
||
|
} IFILTER_FLAGS;
|
||
|
|
||
|
typedef enum tagCHUNKSTATE
|
||
|
{
|
||
|
CHUNK_TEXT = 0x1,
|
||
|
CHUNK_VALUE = 0x2,
|
||
|
CHUNK_FILTER_OWNED_VALUE = 0x4
|
||
|
} CHUNKSTATE;
|
||
|
|
||
|
typedef enum tagCHUNK_BREAKTYPE
|
||
|
{
|
||
|
CHUNK_NO_BREAK = 0,
|
||
|
CHUNK_EOW = 1,
|
||
|
CHUNK_EOS = 2,
|
||
|
CHUNK_EOP = 3,
|
||
|
CHUNK_EOC = 4
|
||
|
} CHUNK_BREAKTYPE;
|
||
|
|
||
|
typedef struct tagFILTERREGION
|
||
|
{
|
||
|
ULONG idChunk;
|
||
|
ULONG cwcStart;
|
||
|
ULONG cwcExtent;
|
||
|
} FILTERREGION;
|
||
|
|
||
|
typedef struct tagSTAT_CHUNK
|
||
|
{
|
||
|
ULONG idChunk;
|
||
|
CHUNK_BREAKTYPE breakType;
|
||
|
CHUNKSTATE flags;
|
||
|
LCID locale;
|
||
|
FULLPROPSPEC attribute;
|
||
|
ULONG idChunkSource;
|
||
|
ULONG cwcStartSource;
|
||
|
ULONG cwcLenSource;
|
||
|
} STAT_CHUNK;
|
||
|
|
||
|
SCODE Init([in] ULONG flags, [in] ULONG cnt, [in, size_is(cnt), unique] FULLPROPSPEC const *attributes, [out] ULONG *out_flags);
|
||
|
SCODE GetChunk([out] STAT_CHUNK *stat);
|
||
|
SCODE GetText([in, out] ULONG *cnt, [out, size_is(*cnt)] WCHAR *buffer);
|
||
|
SCODE GetValue([out] PROPVARIANT **value);
|
||
|
|
||
|
[local]
|
||
|
SCODE BindRegion([in] FILTERREGION pos, [in] REFIID riid, [out] void **unk);
|
||
|
}
|