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