// Last update : Mon. March 19 10:00 CEST 2007 - bbou@ac-toulouse.fr
// Terms of use : see license agreement at http://wntw.sourceforge.net
// License : GPL license agreement
// Title : WordNet COM server
// Version : 1.13.0
// Copyright: (C) Bernard BOU, bsys, 1998-2007
// Author : Bernard Bou
// Company : bsys
// Description : wordnet.idl : IDL source for wordnet.dll
// This file will be processed by the MIDL tool to
// produce the type library (wordnet.tlb) and marshalling code.
///////////////////////////////////////////////////////////////////////////////
import "oaidl.idl";
import "ocidl.idl";
import "wntypes.h";
#include "wnconsts.h"
///////////////////////////////////////////////////////////////////////////////
// INTERFACES
///////////////////////////////////////////////////////////////////////////////
[
object,
uuid(74defd2a-35a5-48aa-812d-aaefc3af6530),
dual,
helpstring("Iwordnet Interface"),
pointer_default(unique)
]
interface Iwordnet : IDispatch
{
[id(1), helpstring("method wninit")] HRESULT wninit(void);
[id(2), helpstring("method re_wninit")] HRESULT re_wninit();
[id(3), helpstring("method morphinit")] HRESULT morphinit(void);
[id(4), helpstring("method morphword")] HRESULT morphword( [in] BSTR thisword, [in] int thispos, [out,retval] BSTR* thisoutput);
[id(5), helpstring("method findtheinfo")] HRESULT findtheinfo([in]BSTR thissearchstr, [in]int thisdbase, [in]int thisptrtyp, [in]int thissense, [out,retval] BSTR* thisoutput );
[propget, id(6), helpstring("property path")] HRESULT path([out, retval] BSTR *pVal);
[propput, id(6), helpstring("property path")] HRESULT path([in] BSTR newVal);
[propget, id(7), helpstring("property target")] HRESULT target([out, retval] BSTR *pVal);
[propput, id(7), helpstring("property target")] HRESULT target([in] BSTR newVal);
[propget, id(8), helpstring("property pos")] HRESULT pos([out, retval] short *pVal);
[propput, id(8), helpstring("property pos")] HRESULT pos([in] short newVal);
[propget, id(9), helpstring("property linktype")] HRESULT linktype([out, retval] short *pVal);
[propput, id(9), helpstring("property linktype")] HRESULT linktype([in] short newVal);
[propget, id(10), helpstring("property sensenum")] HRESULT sensenum([out, retval] short *pVal);
[propput, id(10), helpstring("property sensenum")] HRESULT sensenum([in] short newVal);
[propget, id(11), helpstring("property find")] HRESULT find([out, retval] BSTR *pVal);
[propget, id(12), helpstring("property posname")] HRESULT posname([in]short thispos, [out, retval] BSTR *pVal);
[propget, id(13), helpstring("property linktypename")] HRESULT linktypename([in]short thislinktype, [out, retval] BSTR *pVal);
//Standard Server Side Component Methods
HRESULT OnStartPage([in] IUnknown* piUnk);
HRESULT OnEndPage();
};
///////////////////////////////////////////////////////////////////////////////
[
object,
uuid(48945841-1A1C-11d2-8972-204C4F4F5030),
helpstring("IwordnetX Interface"),
pointer_default(unique)
]
interface IwordnetX : IUnknown
{
[helpstring("method wninit")] HRESULT wninit(void);
[helpstring("method re_wninit")] HRESULT re_wninit(void);
[helpstring("method morphinit")] HRESULT morphinit(void);
[helpstring("method findtheinfo_ds")] HRESULT findtheinfo_ds( [in,string] LPCTSTR thissearchstring, [in] int thisdbase, [in]int thisptrtyp, [in] int thissense, [out] Synset** thissynset );
[helpstring("method morphword")] HRESULT morphword([in,string] LPCTSTR thisword, [in] int thispos, [out, string] LPTSTR* thisoutput );
[helpstring("method index_lookup")] HRESULT index_lookup([in,string] LPCTSTR thisword, [in] int thisdbase, [out] Index** thisindex);
[helpstring("method getindex")] HRESULT getindex([in,string] LPCTSTR thisword, [in] int thisdbase, [out] Index** thisindex);
[helpstring("method read_synset")] HRESULT read_synset([in] int thisdbase, [in] long thisoffset, [in, string] LPCTSTR thisword, [out] Synset** thissynset);
[helpstring("method in_wn")] HRESULT in_wn([in] LPCTSTR thisword, [in] int thispos, [out,ref] int* thisoutput);
[helpstring("method is_defined")] HRESULT is_defined([in] LPCTSTR thisstring, [in] int thisdbase, [out,ref] long* thisoutput);
[helpstring("method findexample")] HRESULT findexamples([in,string] LPCTSTR thisword, [out]int* thisn, [out] LPTSTR** thisoutput );
[helpstring("method findsubstring")] HRESULT findsubstring([in,string] LPCTSTR thisword, [in]int thispos, [out]int* thisn, [out] LPTSTR** thisoutput);
[helpstring("method get_path")] HRESULT get_path([out, string] LPTSTR* thispath);
[helpstring("method put_path")] HRESULT put_path([in,string] LPCTSTR thispath);
[helpstring("method get_line")] HRESULT get_line([in,string] LPCTSTR thiskey, [in] int thisfiletype, [in] int thispos, [out,string] LPTSTR* thisoutput);
[helpstring("method replace_line")] HRESULT replace_line([in,string] LPCTSTR thiskey, [in] int thisfiletype, [in] int thispos, [in,string] LPCTSTR thisinput, [out,string] LPTSTR* thisoutput);
[helpstring("method get_line_at")] HRESULT get_line_at([in] long thisoffset, [in] int thisfiletype, [in] int thispos, [out,string] LPTSTR* thisoutput);
[helpstring("method findindirectantonyms")] HRESULT findindirectantonyms(LPCTSTR thatword, int* thisnoutput, LPTSTR** thisoutput);
};
///////////////////////////////////////////////////////////////////////////////
// LIBRARY
///////////////////////////////////////////////////////////////////////////////
[
uuid(A4defd2a-35a5-48aa-812d-aaefc3af6530),
version(5.0),
helpstring("wordnet 3.0 Type Library")
]
library WORDNETLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
///////////////////////////////////////////////////////////////////////////////
// Enums
///////////////////////////////////////////////////////////////////////////////
// Pointers (Links)
typedef [helpstring("Link Type"),public] enum linktype{
WN_FIRSTLINKTYPE = 1, // 1
WN_ANTPTR = ANTPTR, // 1
WN_HYPERPTR = HYPERPTR, // 2
WN_HYPOPTR = HYPOPTR, // 3
WN_ENTAILPTR = ENTAILPTR, // 4
WN_SIMPTR = SIMPTR, // 5
WN_ISMEMBERPTR = ISMEMBERPTR, // 6
WN_ISSTUFFPTR = ISSTUFFPTR, // 7
WN_ISPARTPTR = ISPARTPTR, // 8
WN_HASMEMBERPTR = HASMEMBERPTR, // 9
WN_HASSTUFFPTR = HASSTUFFPTR, // 10
WN_HASPARTPTR = HASPARTPTR, // 11
WN_MERONYM = MERONYM, // 12
WN_HOLONYM = HOLONYM, // 13
WN_CAUSETO = CAUSETO, // 14
WN_PPLPTR = PPLPTR, // 15
WN_SEEALSOPTR = SEEALSOPTR, // 16
WN_PERTPTR = PERTPTR, // 17
WN_ATTRIBUTE = ATTRIBUTE, // 18
WN_VERBGROUP = VERBGROUP, // 19
WN_DERIVATION = DERIVATION, // 20
WN_CLASSIFICATION = CLASSIFICATION, // 21
WN_CLASS = CLASS, // 22
WN_LASTLINKTYPE = LASTTYPE // 22
} linktype;
typedef [helpstring("Extra Link Type"),public] enum xlinktype{
WN_FIRSTXLINKTYPE = WN_LASTLINKTYPE+1,// 23
WN_SYNS = SYNS, // 23
WN_FREQ = FREQ, // 24
WN_FRAMES = FRAMES, // 25
WN_COORDS = COORDS, // 26
WN_RELATIVES = RELATIVES, // 27
WN_HMERONYM = HMERONYM, // 28
WN_HHOLONYM = HHOLONYM, // 29
WN_WNGREP = WNGREP, // 30
WN_OVERVIEW = OVERVIEW, // 31
WN_LASTXLINKTYPE = OVERVIEW // 31
} xlinktype;
typedef [helpstring("Classification pointers"),public] enum classificationtype{
WN_FIRSTCLASSIFTYPE = CLASSIF_START, // 32
WN_CLASSIF_CATEGORY = CLASSIF_CATEGORY, // 32
WN_CLASSIF_USAGE = CLASSIF_USAGE, // 33
WN_CLASSIF_REGIONAL = CLASSIF_REGIONAL, // 34
WN_LASTCLASSIFTYPE = CLASSIF_END // 34
} classificationtype;
typedef [helpstring("Class pointers"),public] enum classtype{
WN_FIRSTCLASSTYPE = CLASS_START, // 35
WN_CLASS_CATEGORY = CLASS_CATEGORY, // 35
WN_CLASS_USAGE = CLASS_USAGE, // 36
WN_CLASS_REGIONAL = CLASS_REGIONAL, // 37
WN_LASTCLASSTYPE = CLASS_END // 37
} classtype;
typedef [helpstring("Instance pointers"),public] enum instancetype{
WN_INSTANCE = INSTANCE, // 38
WN_INSTANCES = INSTANCES // 39
} instancetype;
typedef [helpstring("Max Link Type"),public] enum maxlinktype{
WN_MAXLINKTYPE = MAXPTR // 39
} maxlinktype;
// Generic names for part of speech
typedef [helpstring("Parts of Speech"),public] enum partofspeech{
WN_FIRSTPOS = 1,
WN_NOUN = NOUN, // 1
WN_VERB = VERB, // 2
WN_ADJ = ADJ, // 3
WN_ADV = ADV, // 4
WN_SATELLITE = SATELLITE, // 5
WN_ADJSAT = WN_SATELLITE,
WN_LASTPOS = WN_ADV,
WN_ALL_POS = ALL_POS,
WN_NO_POS = -1
} partofspeech;
// Adjective markers
typedef [helpstring("Adjective Marker"),public] enum adjmarker{
WN_PADJ = PADJ, // 1
WN_NPADJ = NPADJ, // 2
WN_IPADJ = IPADJ, // 3
WN_UNKNOWN_MARKER = UNKNOWN_MARKER,
WN_ATTRIBUTIVE = ATTRIBUTIVE,
WN_PREDICATIVE = PREDICATIVE,
WN_IMMED_POSTNOMINAL = IMMED_POSTNOMINAL,
}adjmarker;
// Adj type
typedef [helpstring("Adjective Synset Type"),public] enum adjtype{
WN_DONT_KNOW = 0,
WN_DIRECT_ANT = 1, // direct antonyms (cluster head) - defined in search.c
WN_INDIRECT_ANT = 2, // indrect antonyms (similar) - defined in search.c
WN_PERTAINYM = 3 // no antonyms or similars (pertainyms) - defined in search.c
}adjtype;
// Senses
typedef [helpstring("Sense Number"),public] enum sense{
WN_ALLSENSES = ALLSENSES // 0
} sense;
// File type
typedef [helpstring("File type"),public] enum filetype{
WN_NONE = 0,
WN_DATA = 1,
WN_INDEX = 2,
WN_COUSIN = 3,
WN_COUSINEXC = 4,
WN_SENSE = 5,
WN_VERBIDX = 6,
WN_VERBSENTENCE = 7
}filetype;
///////////////////////////////////////////////////////////////////////////////
// Object
///////////////////////////////////////////////////////////////////////////////
[
uuid(351EAF92-1A1B-11D2-8972-204C4F4F5030),
helpstring("wordnet 3.0 Class")
]
coclass wordnet
{
[default] interface Iwordnet;
interface IwordnetX;
};
};
|