1 //========================================================================
5 // Copyright 1999 Derek B. Noonburg assigned by Michael Meeks.
7 //========================================================================
10 #pragma implementation
26 /* The open/close is done for you by the Bonobo server */
29 bfclose (BaseFile file)
34 bfread (void *ptr, size_t size, size_t nmemb, BaseFile file)
38 GNOME_Stream_iobuf *buffer = NULL;
40 g_return_val_if_fail (ptr != NULL, 0);
43 printf ("read %p %d %d to %p\n", file, size, nmemb, ptr);
45 len = GNOME_Stream_read (file, size*nmemb, &buffer, &ev);
46 g_return_val_if_fail (ev._major == CORBA_NO_EXCEPTION, 0);
49 printf ("Read %d bytes %p %d\n", len, buffer->_buffer, buffer->_length);
51 memcpy (ptr, buffer->_buffer, buffer->_length);
57 bfseek (BaseFile file, long offset, int whence)
60 GNOME_Stream_SeekType t;
62 printf ("Seek %p %d %d\n", file, offset, whence);
64 if (whence == SEEK_SET)
65 t = GNOME_Stream_SEEK_SET;
66 else if (whence == SEEK_CUR)
67 t = GNOME_Stream_SEEK_CUR;
69 t = GNOME_Stream_SEEK_END;
71 return GNOME_Stream_seek (file, offset, t, &ev);
75 brewind (BaseFile file)
79 printf ("rewind %p\n", file);
81 GNOME_Stream_seek (file, 0, GNOME_Stream_SEEK_SET, &ev);
85 bftell (BaseFile file)
90 printf ("tell %p\n", file);
92 pos = GNOME_Stream_seek (file, 0, GNOME_Stream_SEEK_CUR, &ev);
94 printf ("tell returns %d\n", pos);