xref: /trunk/main/ucb/source/ucp/odma/odma_lib.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
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
10cdf0e10cSrcweir  *
11*6df1ea1fSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
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.
19cdf0e10cSrcweir  *
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