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