source: trunk/Lucide/plugins/ludoc/ludoc.cpp @ 367

Last change on this file since 367 was 367, checked in by dmik, 12 years ago

Merged bramches/kmk (r294:365) to trunk.

File size: 15.8 KB
Line 
1
2/*
3 *  This file was generated by the SOM Compiler.
4 *  Generated using:
5 *     SOM incremental update: 2.24
6 */
7
8
9/* ***** BEGIN LICENSE BLOCK *****
10 * Version: CDDL 1.0/LGPL 2.1
11 *
12 * The contents of this file are subject to the COMMON DEVELOPMENT AND
13 * DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
14 * this file except in compliance with the License. You may obtain a copy of
15 * the License at http://www.sun.com/cddl/
16 *
17 * Software distributed under the License is distributed on an "AS IS" basis,
18 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
19 * for the specific language governing rights and limitations under the
20 * License.
21 *
22 * The Initial Developer of the Original Code is
23 * Eugene Romanenko, netlabs.org.
24 * Portions created by the Initial Developer are Copyright (C) 2006
25 * the Initial Developer. All Rights Reserved.
26 *
27 * Contributor(s):
28 * Dmitry A. Kuminov, netlabs.org.
29 *
30 * Alternatively, the contents of this file may be used under the terms of
31 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
32 * in which case the provisions of the LGPL are applicable instead of those
33 * above. If you wish to allow use of your version of this file only under the
34 * terms of the LGPL, and not to allow others to use your version of this file
35 * under the terms of the CDDL, indicate your decision by deleting the
36 * provisions above and replace them with the notice and other provisions
37 * required by the LGPL. If you do not delete the provisions above, a recipient
38 * may use your version of this file under the terms of any one of the CDDL
39 * or the LGPL.
40 *
41 * ***** END LICENSE BLOCK ***** */
42
43
44
45/*
46 *  This file was generated by the SOM Compiler and Emitter Framework.
47 *  Generated using template emitter:
48 *      SOM Emitter emitxtm: 2.23.1.9
49 */
50
51#ifndef SOM_Module_ludoc_Source
52#define SOM_Module_ludoc_Source
53#endif
54#define LuDocument_Class_Source
55
56#include "ludoc.xih"
57
58
59unsigned EXPENTRY LibMain( unsigned hmod, unsigned termination )
60{
61    if ( termination ) {
62        /* DLL is detaching from process */
63    } else {
64        /* DLL is attaching to process */
65    }
66    return( 1 );
67}
68
69
70extern "C" LuDocument * EXPENTRY createObject()
71{
72    return new LuDocument;
73}
74
75extern "C" char * EXPENTRY getSupportedExtensions()
76{
77    return "";
78}
79
80extern "C" LuSignatureCheck * EXPENTRY getSignatureCheck()
81{
82        return NULL;
83}
84
85extern "C" char * EXPENTRY getDescription()
86{
87    return "NULL plugin, abstract base class for Lucide plugins.";
88}
89
90
91/*
92 * SOM_Scope long  SOMLINK getBpp(LuDocument *somSelf,  Environment *ev)
93 */
94
95/*
96 * The prototype for getBpp was replaced by the following prototype:
97 */
98SOM_Scope short  SOMLINK getBpp(LuDocument *somSelf,  Environment *ev)
99{
100    // Abstract method does nothing
101    return 0;
102}
103
104SOM_Scope boolean  SOMLINK isScalable(LuDocument *somSelf,  Environment *ev)
105{
106    return FALSE;
107}
108
109
110SOM_Scope boolean  SOMLINK isFixedImage(LuDocument *somSelf,
111                                         Environment *ev)
112{
113    return TRUE;
114}
115
116
117SOM_Scope boolean  SOMLINK isRotable(LuDocument *somSelf,  Environment *ev)
118{
119    return FALSE;
120}
121
122
123SOM_Scope long  SOMLINK getPageCount(LuDocument *somSelf,  Environment *ev)
124{
125    // Abstract method does nothing
126    return 0;
127}
128
129
130SOM_Scope void  SOMLINK getPageSize(LuDocument *somSelf,  Environment *ev,
131                                    long pagenum, double* width,
132                                    double* height)
133{
134    // Abstract method does nothing
135}
136
137
138SOM_Scope boolean  SOMLINK renderPageToPixbuf(LuDocument *somSelf,
139                                               Environment *ev,
140                                              long pagenum, long src_x,
141                                              long src_y, long src_width,
142                                              long src_height,
143                                              double scale, long rotation,
144                                              LuPixbuf* pixbuf,
145                                              long* errorCode,
146                                              string* error)
147{
148    // Abstract method does nothing
149    if ( errorCode != NULL ) {
150        *errorCode = LU_LDERR_NO_ERROR;
151    }
152    return FALSE;
153}
154
155
156SOM_Scope boolean  SOMLINK isAsynchRenderingSupported(LuDocument *somSelf,
157                                                       Environment *ev)
158{
159    return FALSE;
160}
161
162
163
164SOM_Scope void  SOMLINK renderPageToPixbufAsynch(LuDocument *somSelf,
165                                                  Environment *ev,
166                                                 long pagenum,
167                                                 long src_x,
168                                                 long src_y,
169                                                 long src_width,
170                                                 long src_height,
171                                                 double scale,
172                                                 long rotation,
173                                                 LuPixbuf* pixbuf,
174                                                 LuDocument_asynchCallbackFn fnd,
175                                                 LuDocument_asynchCallbackFn fna,
176                                                 somToken fndata,
177                                                 long* errorCode,
178                                                 string* error)
179{
180    // Abstract method does nothing
181    if ( errorCode != NULL ) {
182        *errorCode = LU_RERR_NO_ERROR;
183    }
184}
185
186
187SOM_Scope boolean  SOMLINK isRenderIntoPS(LuDocument *somSelf,
188                                           Environment *ev)
189{
190    return FALSE;
191}
192
193
194SOM_Scope boolean  SOMLINK renderPageToPS(LuDocument *somSelf,
195                                           Environment *ev, long pagenum,
196                                          long src_x, long src_y,
197                                          long src_width, long src_height,
198                                          double scale, long rotation,
199                                          unsigned long hps,
200                                          somMToken rect, long* errorCode,
201                                          string* error)
202{
203    // Abstract method does nothing
204    if ( errorCode != NULL ) {
205        *errorCode = LU_LDERR_NO_ERROR;
206    }
207    return FALSE;
208}
209
210
211SOM_Scope boolean  SOMLINK isHaveText(LuDocument *somSelf,
212                                      Environment *ev)
213{
214    return FALSE;
215}
216
217
218SOM_Scope LuDocument_LuRectSequence*  SOMLINK getSelectionRectangles(LuDocument *somSelf,
219                                                                    Environment *ev,
220                                                                   long pagenum,
221                                                                   LuRectangle* selection)
222{
223    // Abstract method does nothing
224    return NULL;
225}
226
227
228SOM_Scope void  SOMLINK freeRectangles(Environment *ev,
229                                       LuDocument_LuRectSequence* rectangles)
230{
231    if ( rectangles != NULL )
232    {
233        if ( ( ( rectangles->_maximum != 0 ) ||
234               ( rectangles->_length != 0 ) ) &&
235                   ( rectangles->_buffer != NULL ) )
236        {
237            SOMFree( rectangles->_buffer );
238        }
239        SOMFree( rectangles );
240    }
241}
242
243
244SOM_Scope string  SOMLINK getText(LuDocument *somSelf,  Environment *ev,
245                                  long pagenum, LuRectangle* selection)
246{
247    // Abstract method does nothing
248    return NULL;
249}
250
251
252SOM_Scope boolean  SOMLINK isHaveLinks(LuDocument *somSelf,  Environment *ev)
253{
254    return FALSE;
255}
256
257
258SOM_Scope LuDocument_LuLinkMapSequence*  SOMLINK getLinkMapping(LuDocument *somSelf,
259                                                                 Environment *ev,
260                                                                long pagenum)
261{
262    // Abstract method, returns empty sequence
263    LuDocument_LuLinkMapSequence *mapping = NULL;
264    mapping = (LuDocument_LuLinkMapSequence *)SOMMalloc( sizeof( LuDocument_LuLinkMapSequence ) );
265    mapping->_maximum = 0;
266    mapping->_length = 0;
267    mapping->_buffer = NULL;
268    return mapping;
269}
270
271
272SOM_Scope void  SOMLINK freeLinkMapping(Environment *ev,
273                                        LuDocument_LuLinkMapSequence* mapping)
274{
275    if ( mapping != NULL )
276    {
277        if ( ( ( mapping->_maximum != 0 ) ||
278               ( mapping->_length != 0 ) ) &&
279                   ( mapping->_buffer != NULL ) )
280        {
281            for ( int i = 0; i < mapping->_length; i++ )
282            {
283                if ( mapping->_buffer[ i ].link.title != NULL ) {
284                    SOMFree( mapping->_buffer[ i ].link.title );
285                }
286                if ( mapping->_buffer[ i ].link.uri != NULL ) {
287                    SOMFree( mapping->_buffer[ i ].link.uri );
288                }
289            }
290
291            SOMFree( mapping->_buffer );
292        }
293        SOMFree( mapping );
294    }
295}
296
297
298SOM_Scope boolean  SOMLINK isSaveable(LuDocument *somSelf,  Environment *ev)
299{
300    return FALSE;
301}
302
303
304SOM_Scope boolean  SOMLINK saveAs(LuDocument *somSelf,  Environment *ev,
305                                  string filename)
306{
307    // Abstract method does nothing
308    return FALSE;
309}
310
311
312SOM_Scope boolean  SOMLINK isPostScriptExportable(LuDocument *somSelf,
313                                           Environment *ev)
314{
315    return FALSE;
316}
317
318
319SOM_Scope boolean  SOMLINK exportToPostScript(LuDocument *somSelf,
320                                               Environment *ev,
321                                              string filename,
322                                              long first_page,
323                                              long last_page,
324                                              double width, double height,
325                                              boolean* brkExport)
326{
327    // Abstract method does nothing
328    return FALSE;
329}
330
331
332SOM_Scope boolean  SOMLINK isHaveFontInfo(LuDocument *somSelf,
333                                           Environment *ev)
334{
335    return FALSE;
336}
337
338
339SOM_Scope LuDocument_LuFontInfoSequence*  SOMLINK getFontInfo(LuDocument *somSelf,
340                                                               Environment *ev)
341{
342    // Abstract method does nothing
343    return NULL;
344}
345
346
347SOM_Scope void  SOMLINK freeFontInfo(Environment *ev,
348                                     LuDocument_LuFontInfoSequence* fonts)
349{
350    if ( fonts != NULL )
351    {
352        if ( ( ( fonts->_maximum != 0 ) ||
353               ( fonts->_length != 0 ) ) &&
354                   ( fonts->_buffer != NULL ) )
355        {
356            for ( int i = 0; i < fonts->_length; i++ )
357            {
358                if ( fonts->_buffer[ i ].name != NULL ) {
359                    SOMFree( fonts->_buffer[ i ].name );
360                }
361                if ( fonts->_buffer[ i ].type != NULL ) {
362                    SOMFree( fonts->_buffer[ i ].type );
363                }
364            }
365
366            SOMFree( fonts->_buffer );
367        }
368        SOMFree( fonts );
369    }
370}
371
372
373SOM_Scope boolean  SOMLINK isHaveIndex(LuDocument *somSelf,  Environment *ev)
374{
375    return FALSE;
376}
377
378
379SOM_Scope LuIndexNode*  SOMLINK getIndex(LuDocument *somSelf,
380                                          Environment *ev)
381{
382    // Abstract method does nothing
383    return NULL;
384}
385
386
387SOM_Scope LuDocumentInfo*  SOMLINK getDocumentInfo(LuDocument *somSelf,
388                                                    Environment *ev)
389{
390    LuDocumentInfo *info = (LuDocumentInfo *)SOMMalloc( sizeof( LuDocumentInfo ) );
391    memset( info, 0, sizeof( LuDocumentInfo ) );
392    return info;
393}
394
395
396SOM_Scope void  SOMLINK freeDocumentInfo(Environment *ev, LuDocumentInfo* info)
397{
398    if ( info != NULL )
399    {
400        if ( info->fields_mask & LU_DOCUMENT_INFO_TITLE ) {
401            SOMFree( info->title );
402        }
403        if ( info->fields_mask & LU_DOCUMENT_INFO_FORMAT ) {
404            SOMFree( info->format );
405        }
406        if ( info->fields_mask & LU_DOCUMENT_INFO_AUTHOR ) {
407            SOMFree( info->author );
408        }
409        if ( info->fields_mask & LU_DOCUMENT_INFO_SUBJECT ) {
410            SOMFree( info->subject );
411        }
412        if ( info->fields_mask & LU_DOCUMENT_INFO_KEYWORDS ) {
413            SOMFree( info->keywords );
414        }
415        if ( info->fields_mask & LU_DOCUMENT_INFO_CREATOR ) {
416            SOMFree( info->creator );
417        }
418        if ( info->fields_mask & LU_DOCUMENT_INFO_PRODUCER ) {
419            SOMFree( info->producer );
420        }
421
422        SOMFree( info );
423    }
424}
425
426
427SOM_Scope boolean  SOMLINK getThumbnailSize(LuDocument *somSelf,
428                                             Environment *ev,
429                                            long pagenum,
430                                            short suggested_width,
431                                            short* width, short* height)
432{
433    // Abstract method does nothing
434    return FALSE;
435}
436
437
438SOM_Scope LuPixbuf*  SOMLINK getThumbnail(LuDocument *somSelf,
439                                           Environment *ev, long pagenum,
440                                          short suggested_width)
441{
442    // Abstract method does nothing
443    return NULL;
444}
445
446
447SOM_Scope LuDocument_LuRectSequence*  SOMLINK searchText(LuDocument *somSelf,
448                                                          Environment *ev,
449                                                         long pagenum,
450                                                         string text,
451                                                         boolean caseSensitive )
452{
453    // Abstract method does nothing
454    return NULL;
455}
456
457
458SOM_Scope boolean  SOMLINK isCreateFileThumbnail(LuDocument *somSelf,
459                                                  Environment *ev)
460{
461    return FALSE;
462}
463
464
465SOM_Scope boolean  SOMLINK isHaveInputFields(LuDocument *somSelf,
466                                              Environment *ev)
467{
468    return FALSE;
469}
470
471SOM_Scope LuDocument_LuInputFieldSequence*  SOMLINK getInputFields(LuDocument *somSelf,
472                                                                    Environment *ev,
473                                                                   long pagenum)
474{
475    // Abstract method, returns empty sequence
476    LuDocument_LuInputFieldSequence *fields = NULL;
477    fields = (LuDocument_LuInputFieldSequence *)SOMMalloc( sizeof( LuDocument_LuInputFieldSequence ) );
478    fields->_maximum = 0;
479    fields->_length = 0;
480    fields->_buffer = NULL;
481    return fields;
482}
483
484
485SOM_Scope void  SOMLINK freeInputFields(Environment *ev, LuDocument_LuInputFieldSequence* aInputFields)
486{
487    if ( aInputFields != NULL ) {
488        if ( ( ( aInputFields->_maximum != 0 ) ||
489               ( aInputFields->_length != 0 ) ) &&
490                   ( aInputFields->_buffer != NULL ) ) {
491            for ( size_t i = 0; i < aInputFields->_length; ++i )
492                delete aInputFields->_buffer[i];
493            SOMFree( aInputFields->_buffer );
494        }
495        SOMFree( aInputFields );
496    }
497}
498
499
500SOM_Scope void SOMLINK somDefaultInit(LuDocument *somSelf, som3InitCtrl* ctrl)
501{
502    somInitCtrl globalCtrl;
503    somBooleanVector myMask;
504    LuDocument_BeginInitializer_somDefaultInit;
505    LuDocument_Init_SOMObject_somDefaultInit(somSelf, ctrl);
506}
507
508
509SOM_Scope boolean  SOMLINK loadFile(LuDocument *somSelf,  Environment *ev,
510                                    string filename, string password,
511                                    long* errorCode, string* error)
512{
513    // Abstract method does nothing
514    if ( errorCode != NULL ) {
515        *errorCode = LU_LDERR_NO_ERROR;
516    }
517    return FALSE;
518}
519
Note: See TracBrowser for help on using the repository browser.