source: trunk/Utilities/MaxMindGeoLite/MaxMindGeoLite.idl

Last change on this file was 49, checked in by roman, 12 years ago

singletons, lazy initialization singleton, free threaded marhsaler, x64

  • Property svn:keywords set to Id
File size: 2.3 KB
RevLine 
[47]1////////////////////////////////////////////////////////////
2// Copyright (C) Roman Ryltsov, 2008-2012
3// Created by Roman Ryltsov roman@alax.info
4// 
5// $Id: MaxMindGeoLite.idl 49 2012-02-11 22:47:53Z roman $
6
7import "oaidl.idl";
8import "ocidl.idl";
9
10[
11        object,
12        uuid(3C3125E8-60D6-4703-B7B4-7A024CEA2F05),
13        dual,
14        oleautomation,
15        helpstring("ILocation Interface"),
16        pointer_default(unique)
17]
18interface ILocation : IDispatch
19{
20        [propget, id(1)] HRESULT Country([out, retval] BSTR* psCountry);
21        [propget, id(2)] HRESULT Region([out, retval] BSTR* psRegion);
22        [propget, id(3)] HRESULT City([out, retval] BSTR* psCity);
23        [propget, id(4)] HRESULT PostalCode([out, retval] BSTR* psPostalCode);
24        [propget, id(5)] HRESULT Latitude([out, retval] DOUBLE* pfLatitude);
25        [propget, id(6)] HRESULT Longitude([out, retval] DOUBLE* pfLongitude);
26        [propget, id(7)] HRESULT MetroCode([out, retval] BSTR* psMetroCode);
27        [propget, id(8)] HRESULT AreaCode([out, retval] BSTR* psAreaCode);
28};
29[
30        object,
31        uuid(B6E2FBEB-1AC2-424B-B2DA-FF6398ADCF0C),
32        dual,
33        oleautomation,
34        helpstring("ILocations Interface"),
35        pointer_default(unique)
36]
37interface ILocations : IDispatch
38{
39        [propget, id(DISPID_VALUE)] HRESULT Item([in] VARIANT vIndex, [out, retval] ILocation** ppLocation);
40};
41[
[48]42        object,
43        uuid(34BF53BB-D4C8-4002-A0EC-5BA70FE7ACA3),
44        dual,
45        oleautomation,
46        helpstring("ILazyLocations Interface"),
47        pointer_default(unique)
48]
[49]49interface ILazyLocations : IDispatch
[48]50{
51        [propget, id(1)] HRESULT Initialized([out, retval] VARIANT_BOOL* pbInitialized);
52};
53[
[47]54        uuid(F80BC862-E43E-4809-ACFC-1A608209C860),
55        version(1.0),
56        helpstring("Alax.Info Geolocation Tools (using MaxMind GeoLite) 1.0 Type Library")
57]
58library AlaxInfoMaxMindGeoLite
59{
60        importlib("stdole2.tlb");
61        [
62                uuid(E4758497-363F-467D-BE04-C2222748C7E6),
63                noncreatable,
64                helpstring("Location Class")
65        ]
66        coclass Location
67        {
68                [default] interface ILocation;
69                //interface ISupportErrorInfo;
70        };
71        [
72                uuid(350EBCB9-942A-4D11-9192-54AA6230F7BF),
73                helpstring("Locations Class")
74        ]
75        coclass Locations
76        {
77                [default] interface ILocations;
78                //interface ISupportErrorInfo;
79        };
[48]80        [
81                uuid(29752330-E1FB-43D0-ADBF-21AF77633259),
82                helpstring("LazyLocations Class")
83        ]
84        coclass LazyLocations
85        {
86                [default] interface ILocations;
87                interface ILazyLocations;
88                //interface ISupportErrorInfo;
89        };
[47]90};
Note: See TracBrowser for help on using the repository browser.