blob: 9acfc1d59e8489a5120186787bef2e3a73f807c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
#ifdef __cplusplus
extern "C" {
#endif
#define ReleaseAtomFeed(p) if (p) { AtomFreeFeed(p); }
#define ReleaseNullAtomFeed(p) if (p) { AtomFreeFeed(p); p = NULL; }
struct ATOM_UNKNOWN_ATTRIBUTE
{
LPWSTR wzNamespace;
LPWSTR wzAttribute;
LPWSTR wzValue;
ATOM_UNKNOWN_ATTRIBUTE* pNext;
};
struct ATOM_UNKNOWN_ELEMENT
{
LPWSTR wzNamespace;
LPWSTR wzElement;
LPWSTR wzValue;
ATOM_UNKNOWN_ATTRIBUTE* pAttributes;
ATOM_UNKNOWN_ELEMENT* pNext;
};
struct ATOM_LINK
{
LPWSTR wzRel;
LPWSTR wzTitle;
LPWSTR wzType;
LPWSTR wzUrl;
LPWSTR wzValue;
DWORD64 dw64Length;
ATOM_UNKNOWN_ATTRIBUTE* pUnknownAttributes;
ATOM_UNKNOWN_ELEMENT* pUnknownElements;
};
struct ATOM_CONTENT
{
LPWSTR wzType;
LPWSTR wzUrl;
LPWSTR wzValue;
ATOM_UNKNOWN_ELEMENT* pUnknownElements;
};
struct ATOM_AUTHOR
{
LPWSTR wzName;
LPWSTR wzEmail;
LPWSTR wzUrl;
};
struct ATOM_CATEGORY
{
LPWSTR wzLabel;
LPWSTR wzScheme;
LPWSTR wzTerm;
ATOM_UNKNOWN_ELEMENT* pUnknownElements;
};
struct ATOM_ENTRY
{
LPWSTR wzId;
LPWSTR wzSummary;
LPWSTR wzTitle;
FILETIME ftPublished;
FILETIME ftUpdated;
ATOM_CONTENT* pContent;
DWORD cAuthors;
ATOM_AUTHOR* rgAuthors;
DWORD cCategories;
ATOM_CATEGORY* rgCategories;
DWORD cLinks;
ATOM_LINK* rgLinks;
IXMLDOMNode* pixn;
ATOM_UNKNOWN_ELEMENT* pUnknownElements;
};
struct ATOM_FEED
{
LPWSTR wzGenerator;
LPWSTR wzIcon;
LPWSTR wzId;
LPWSTR wzLogo;
LPWSTR wzSubtitle;
LPWSTR wzTitle;
FILETIME ftUpdated;
DWORD cAuthors;
ATOM_AUTHOR* rgAuthors;
DWORD cCategories;
ATOM_CATEGORY* rgCategories;
DWORD cEntries;
ATOM_ENTRY* rgEntries;
DWORD cLinks;
ATOM_LINK* rgLinks;
IXMLDOMNode* pixn;
ATOM_UNKNOWN_ELEMENT* pUnknownElements;
};
HRESULT DAPI AtomInitialize(
);
void DAPI AtomUninitialize(
);
HRESULT DAPI AtomParseFromString(
__in_z LPCWSTR wzAtomString,
__out ATOM_FEED **ppFeed
);
HRESULT DAPI AtomParseFromFile(
__in_z LPCWSTR wzAtomFile,
__out ATOM_FEED **ppFeed
);
HRESULT DAPI AtomParseFromDocument(
__in IXMLDOMDocument* pixdDocument,
__out ATOM_FEED **ppFeed
);
void DAPI AtomFreeFeed(
__in_xcount(pFeed->cItems) ATOM_FEED* pFeed
);
#ifdef __cplusplus
}
#endif
|