source: trunk/Lucide/SOURCE/plugins/ludoc/ludoc.cpp @ 215

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