]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/BonoboFile.cc
Remove intermediate Makefile.in's
[evince.git] / pdf / xpdf / BonoboFile.cc
1 //========================================================================
2 //
3 // BonoboFile.cc
4 //
5 // Copyright 1999 Derek B. Noonburg assigned by Michael Meeks.
6 //
7 //========================================================================
8
9 #ifdef __GNUC__
10 #pragma implementation
11 #endif
12
13 #include <stdio.h>
14 #include <stdlib.h>
15 #include <stddef.h>
16 #ifndef WIN32
17 #include <unistd.h>
18 #endif
19 #include <string.h>
20 #include <ctype.h>
21
22 #include "BaseFile.h"
23
24 //define HARD_DEBUG
25
26 /* The open/close is done for you by the Bonobo server */
27
28 void
29 bfclose (BaseFile file)
30 {
31 }
32
33 size_t
34 bfread (void *ptr, size_t size, size_t nmemb, BaseFile file)
35 {
36   CORBA_long len;
37   CORBA_Environment ev;
38   GNOME_Stream_iobuf *buffer = NULL;
39
40   g_return_val_if_fail (ptr != NULL, 0);
41
42 #ifdef HARD_DEBUG
43   printf ("read %p %d %d to %p\n", file, size, nmemb, ptr);
44 #endif
45   len = GNOME_Stream_read (file, size*nmemb, &buffer, &ev);
46   g_return_val_if_fail (ev._major == CORBA_NO_EXCEPTION, 0);
47
48 #ifdef HARD_DEBUG
49   printf ("Read %d bytes %p %d\n", len, buffer->_buffer, buffer->_length);
50 #endif
51   memcpy (ptr, buffer->_buffer, buffer->_length);
52
53   return len;
54 }
55
56 int
57 bfseek (BaseFile file, long offset, int whence)
58 {
59   CORBA_Environment ev;
60 #ifdef HARD_DEBUG
61   printf ("Seek %p %d %d\n", file, offset, whence);
62 #endif
63   return GNOME_Stream_seek (file, offset, whence, &ev);
64 }
65
66 void
67 brewind (BaseFile file)
68 {
69   CORBA_Environment ev;
70 #ifdef HARD_DEBUG
71   printf ("rewind %p\n", file);
72 #endif
73   GNOME_Stream_seek (file, 0, SEEK_SET, &ev);
74 }
75
76 long
77 bftell (BaseFile file)
78 {
79   CORBA_Environment ev;
80   CORBA_long pos;
81 #ifdef HARD_DEBUG
82   printf ("tell %p\n", file);
83 #endif
84   pos = GNOME_Stream_seek (file, 0, SEEK_CUR, &ev);
85 #ifdef HARD_DEBUG
86   printf ("tell returns %d\n", pos);
87 #endif
88
89   return pos;
90 }