xref: /AOO41X/main/ucb/source/ucp/odma/odma_lib.hxx (revision 6df1ea1f75e32b7bdb9b43f28f6c06e1fbd0c5ce)
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