xref: /trunk/main/ucb/source/ucp/odma/odma_lib.hxx (revision 6df1ea1f)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef ODMA_LIB_HXX
24 #define ODMA_LIB_HXX
25 
26 typedef void	            *LPVOID;
27 typedef char				*LPSTR,
28 							*PSTR;
29 typedef const char			*LPCSTR;
30 typedef unsigned long       DWORD;
31 typedef unsigned short      WORD;
32 typedef unsigned short      *LPWORD;
33 typedef DWORD		        *LPDWORD;
34 
35 #define WINAPI				__stdcall
36 #define FAR
37 
38 #include "odma.h"
39 
40 namespace odma
41 {
42 	typedef ODMSTATUS (WINAPI *TODMRegisterApp) (	ODMHANDLE FAR *pOdmHandle,
43 													WORD version,
44 													LPSTR lpszAppId,
45 													DWORD dwEnvData,
46 													LPVOID pReserved);
47 
48 	typedef void (WINAPI *TODMUnRegisterApp)(ODMHANDLE odmHandle);
49 
50 
51 	typedef ODMSTATUS (WINAPI *TODMSelectDoc)(		ODMHANDLE odmHandle,
52 													LPSTR lpszDocId,
53 													LPDWORD pdwFlags);
54 
55 
56 	typedef ODMSTATUS (WINAPI *TODMOpenDoc)(		ODMHANDLE odmHandle,
57 													DWORD flags,
58 													LPSTR lpszDocId,
59 													LPSTR lpszDocLocation);
60 
61 	typedef ODMSTATUS (WINAPI *TODMSaveDoc)(		ODMHANDLE odmHandle,
62 													LPSTR lpszDocId,
63 													LPSTR lpszNewDocId);
64 
65 	typedef ODMSTATUS (WINAPI *TODMCloseDoc)(		ODMHANDLE odmHandle,
66 													LPSTR lpszDocId,
67 													DWORD activeTime,
68 													DWORD pagesPrinted,
69 													LPVOID sessionData,
70 													WORD dataLen);
71 
72 	typedef ODMSTATUS (WINAPI *TODMNewDoc)(			ODMHANDLE odmHandle,
73 													LPSTR lpszDocId,
74 													DWORD dwFlags,
75 													LPSTR lpszFormat,
76 													LPSTR lpszDocLocation);
77 
78 	typedef ODMSTATUS (WINAPI *TODMSaveAs)(			ODMHANDLE odmHandle,
79 													LPSTR lpszDocId,
80 													LPSTR lpszNewDocId,
81 													LPSTR lpszFormat,
82 													ODMSAVEASCALLBACK pcbCallBack,
83 													LPVOID pInstanceData);
84 
85 	typedef ODMSTATUS (WINAPI *TODMActivate)(		ODMHANDLE odmHandle,
86 													WORD action,
87 													LPSTR lpszDocId);
88 
89 	typedef ODMSTATUS (WINAPI *TODMGetDocInfo)(		ODMHANDLE odmHandle,
90 													LPSTR lpszDocId,
91 													WORD item,
92 													LPSTR lpszData,
93 													WORD dataLen);
94 
95 	typedef ODMSTATUS (WINAPI *TODMSetDocInfo)(		ODMHANDLE odmHandle,
96 													LPSTR lpszDocId,
97 													WORD item,
98 													LPSTR lpszData);
99 
100 	typedef ODMSTATUS (WINAPI *TODMGetDMSInfo)(		ODMHANDLE odmHandle,
101 													LPSTR lpszDmsId,
102 													LPWORD pwVerNo,
103 													LPDWORD pdwExtensions);
104 
105 	/* Query Enhancements */
106 	typedef WORD (WINAPI *TODMGetDMSCount)();
107 
108 	typedef WORD (WINAPI *TODMGetDMSList)(			LPSTR buffer,
109 													WORD buffer_size );
110 
111 	typedef ODMSTATUS (WINAPI *TODMGetDMS)(			LPCSTR lpszAppId,
112 													LPSTR lpszDMSId );
113 
114 	typedef ODMSTATUS (WINAPI *TODMSetDMS)(			LPCSTR lpszAppId,
115 													LPCSTR lpszDMSId );
116 
117 	typedef ODMSTATUS (WINAPI *TODMQueryExecute)(	ODMHANDLE odmHandle,
118 													LPCSTR lpszQuery,
119 													DWORD flags,
120 													LPCSTR lpszDMSList,
121 													LPSTR queryId );
122 
123 	typedef ODMSTATUS (WINAPI *TODMQueryGetResults)(ODMHANDLE odmHandle,
124 													LPCSTR queryId,
125 													LPSTR lpszDocId,
126 													LPSTR lpszDocName,
127 													WORD docNameLen,
128 													WORD *docCount );
129 
130 	typedef ODMSTATUS (WINAPI *TODMQueryClose)(		ODMHANDLE odmHandle,
131 													LPCSTR queryId );
132 
133 	/* ODMA 2.0 Enhancements */
134 	typedef ODMSTATUS (WINAPI *TODMCloseDocEx)(		ODMHANDLE odmHandle,
135 													LPSTR lpszDocId,
136 													LPDWORD pdwFlags,
137 													DWORD activeTime,
138 													DWORD pagesPrinted,
139 													LPVOID sessionData,
140 													WORD dataLen);
141 
142 	typedef ODMSTATUS (WINAPI *TODMSaveAsEx)(		ODMHANDLE odmHandle,
143 													LPSTR lpszDocId,
144 													LPSTR lpszNewDocId,
145 													LPSTR lpszFormat,
146 													ODMSAVEASCALLBACK pcbCallBack,
147 													LPVOID pInstanceData,
148 													LPDWORD pdwFlags);
149 
150 	typedef ODMSTATUS (WINAPI *TODMSaveDocEx)(		ODMHANDLE odmHandle,
151 													LPSTR lpszDocId,
152 													LPSTR lpszNewDocId,
153 													LPDWORD pdwFlags);
154 
155 	typedef ODMSTATUS (WINAPI *TODMSelectDocEx)(	ODMHANDLE odmHandle,
156 													LPSTR lpszDocIds,
157 													LPWORD pwDocIdsLen,
158 													LPWORD pwDocCount,
159 													LPDWORD pdwFlags,
160 													LPSTR lpszFormatFilter);
161 
162 	typedef ODMSTATUS (WINAPI *TODMQueryCapability)(ODMHANDLE odmHandle,
163 													LPCSTR lpszDmsId,
164 													DWORD function,
165 													DWORD item,
166 													DWORD flags);
167 
168 	typedef ODMSTATUS (WINAPI *TODMSetDocEvent)(	ODMHANDLE odmHandle,
169 													LPSTR lpszDocId,
170 													DWORD flags,
171 													DWORD event,
172 													LPVOID lpData,
173 													DWORD dwDataLen,
174 													LPSTR lpszComment);
175 
176 	typedef ODMSTATUS (WINAPI *TODMGetAlternateContent)(ODMHANDLE odmHandle,
177 													LPSTR lpszDocId,
178 													LPDWORD pdwFlags,
179 													LPSTR lpszFormat,
180 													LPSTR lpszDocLocation);
181 
182 	typedef ODMSTATUS (WINAPI *TODMSetAlternateContent)(ODMHANDLE odmHandle,
183 													LPSTR lpszDocId,
184 													LPDWORD pdwFlags,
185 													LPSTR lpszFormat,
186 													LPSTR lpszDocLocation);
187 
188 	typedef ODMSTATUS (WINAPI *TODMGetDocRelation)(	ODMHANDLE odmHandle,
189 													LPSTR lpszDocId,
190 													LPDWORD pdwFlags,
191 													LPSTR lpszLinkedId,
192 													LPSTR lpszFormat,
193 													LPSTR lpszPreviousId);
194 
195 	typedef ODMSTATUS (WINAPI *TODMSetDocRelation)(	ODMHANDLE odmHandle,
196 													LPSTR lpszDocId,
197 													LPDWORD pdwFlags,
198 													LPSTR lpszLinkedId,
199 													LPSTR lpszFormat,
200 													LPSTR lpszPreviousId);
201 
202 	// now we define some macros
203 
204 	#define NODMRegisterApp(a,b,c,d,e)			(*(pODMRegisterApp))(a,b,c,d,e)
205 	#define NODMUnRegisterApp(a)				(*(pODMUnRegisterApp))(a)
206 	#define NODMSelectDoc(a,b,c)				(*(pODMSelectDoc))(a,b,c)
207 	#define NODMOpenDoc(a,b,c,d)				(*(pODMOpenDoc))(a,b,c,d)
208 	#define NODMSaveDoc(a,b,c)					(*(pODMSaveDoc))(a,b,c)
209 	#define NODMCloseDoc(a,b,c,d,e,f)			(*(pODMCloseDoc))(a,b,c,d,e,f)
210 	#define NODMNewDoc(a,b,c,d,e)				(*(pODMNewDoc))(a,b,c,d,e)
211 	#define NODMSaveAs(a,b,c,d,e,f)				(*(pODMSaveAs))(a,b,c,d,e,f)
212 	#define NODMActivate(a,b,c)					(*(pODMActivate))(a,b,c)
213 	#define NODMGetDocInfo(a,b,c,d,e)			(*(pODMGetDocInfo))(a,b,c,d,e)
214 	#define NODMSetDocInfo(a,b,c,d)				(*(pODMSetDocInfo))(a,b,c,d)
215 	#define NODMGetDMSInfo(a,b,c,d)				(*(pODMGetDMSInfo))(a,b,c,d)
216 	#define NODMGetDMSCount()					(*(pODMGetDMSCount))()
217 	#define NODMGetDMSList(a,b)					(*(pODMGetDMSList))(a,b)
218 	#define NODMGetDMS(a,b)						(*(pODMGetDMS))(a,b)
219 	#define NODMSetDMS(a,b)						(*(pODMSetDMS))(a,b)
220 	#define NODMQueryExecute(a,b,c,d,e)			(*(pODMQueryExecute))(a,b,c,d,e)
221 	#define NODMQueryGetResults(a,b,c,d,e,f)	(*(pODMQueryGetResults))(a,b,c,d,e,f)
222 	#define NODMQueryClose(a,b)					(*(pODMQueryClose))(a,b)
223 	#define NODMCloseDocEx(a,b,c,d,e,f,g)		(*(pODMCloseDocEx))(a,b,c,d,e,f,g)
224 	#define NODMSaveAsEx(a,b,c,d,e,f,g)			(*(pODMSaveAsEx))(a,b,c,d,e,f,g)
225 	#define NODMSaveDocEx(a,b,c,d)				(*(pODMSaveDocEx))(a,b,c,d)
226 	#define NODMSelectDocEx(a,b,c,d,e,f)		(*(pODMSelectDocEx))(a,b,c,d,e,f)
227 	#define NODMQueryCapability(a,b,c,d,e)		(*(pODMQueryCapability))(a,b,c,d,e)
228 	#define NODMSetDocEvent(a,b,c,d,e,f,g)		(*(pODMSetDocEvent))(a,b,c,d,e,f,g)
229 	#define NODMGetAlternateContent(a,b,c,d,e)	(*(pODMGetAlternateContent))(a,b,c,d,e)
230 	#define NODMSetAlternateContent(a,b,c,d,e)	(*(pODMSetAlternateContent))(a,b,c,d,e)
231 	#define NODMGetDocRelation(a,b,c,d,e,f)		(*(pODMGetDocRelation))(a,b,c,d,e,f)
232 	#define NODMSetDocRelation(a,b,c,d,e,f)		(*(pODMSetDocRelation))(a,b,c,d,e,f)
233 
234 	sal_Bool LoadLibrary();
235 
236 	extern TODMRegisterApp			pODMRegisterApp;
237 	extern TODMUnRegisterApp		pODMUnRegisterApp;
238 	extern TODMSelectDoc			pODMSelectDoc;
239 	extern TODMOpenDoc				pODMOpenDoc;
240 	extern TODMSaveDoc				pODMSaveDoc;
241 	extern TODMCloseDoc				pODMCloseDoc;
242 	extern TODMNewDoc				pODMNewDoc;
243 	extern TODMSaveAs				pODMSaveAs;
244 	extern TODMActivate				pODMActivate;
245 	extern TODMGetDocInfo			pODMGetDocInfo;
246 	extern TODMSetDocInfo			pODMSetDocInfo;
247 	extern TODMGetDMSInfo			pODMGetDMSInfo;
248 	extern TODMGetDMSCount			pODMGetDMSCount;
249 	extern TODMGetDMSList			pODMGetDMSList;
250 	extern TODMGetDMS				pODMGetDMS;
251 	extern TODMSetDMS				pODMSetDMS;
252 	extern TODMQueryExecute			pODMQueryExecute;
253 	extern TODMQueryGetResults		pODMQueryGetResults;
254 	extern TODMQueryClose			pODMQueryClose;
255 	extern TODMCloseDocEx			pODMCloseDocEx;
256 	extern TODMSaveAsEx				pODMSaveAsEx;
257 	extern TODMSaveDocEx			pODMSaveDocEx;
258 	extern TODMSelectDocEx			pODMSelectDocEx;
259 	extern TODMQueryCapability		pODMQueryCapability;
260 	extern TODMSetDocEvent			pODMSetDocEvent;
261 	extern TODMGetAlternateContent	pODMGetAlternateContent;
262 	extern TODMSetAlternateContent	pODMSetAlternateContent;
263 	extern TODMGetDocRelation		pODMGetDocRelation;
264 	extern TODMSetDocRelation		pODMSetDocRelation;
265 
266 }
267 
268 #endif // ODMA_LIB_HXX
269