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