MS OLE2

MS OLE2

Synopsis




                    GsfInfileMSOle;
GsfInfile*          gsf_infile_msole_new                (GsfInput *source,
                                                         GError **err);
gboolean            gsf_infile_msole_get_class_id       (GsfInfileMSOle const *ole,
                                                         guint8 *res);
                    GsfOutfileMSOle;
GsfOutfile*         gsf_outfile_msole_new               (GsfOutput *sink);
GsfOutfile*         gsf_outfile_msole_new_full          (GsfOutput *sink,
                                                         guint bb_size,
                                                         guint sb_size);
gboolean            gsf_outfile_msole_set_class_id      (GsfOutfileMSOle *ole,
                                                         guint8 const *clsid);
GError*             gsf_msole_metadata_read             (GsfInput *in,
                                                         GsfDocMetaData *accum);
gboolean            gsf_msole_metadata_write            (GsfOutput *out,
                                                         GsfDocMetaData const *meta_data,
                                                         gboolean doc_not_component);
GIConv              gsf_msole_iconv_open_codepages_for_export
                                                        (int codepage_to,
                                                         char const *from);
GIConv              gsf_msole_iconv_open_codepage_for_import
                                                        (char const *to,
                                                         int codepage);
GIConv              gsf_msole_iconv_open_for_export     (void);
GIConv              gsf_msole_iconv_open_codepage_for_export
                                                        (int codepage_to);
GIConv              gsf_msole_iconv_open_for_import     (int codepage);
int                 gsf_msole_iconv_win_codepage        (void);
guint               gsf_msole_codepage_to_lid           (int codepage);
int                 gsf_msole_lid_to_codepage           (guint lid);
gchar*              gsf_msole_lid_to_codepage_str       (guint lid);
guint               gsf_msole_lid_for_language          (char const *lang);
charconst *         gsf_msole_language_for_lid          (guint lid);
GByteArray*         gsf_msole_inflate                   (GsfInput *input,
                                                         gsf_off_t offset);


Object Hierarchy


  GObject
   +----GsfInput
         +----GsfInfile
               +----GsfInfileMSOle

  GObject
   +----GsfOutput
         +----GsfOutfile
               +----GsfOutfileMSOle

Description

Details

GsfInfileMSOle

typedef struct _GsfInfileMSOle GsfInfileMSOle;


gsf_infile_msole_new ()

GsfInfile*          gsf_infile_msole_new                (GsfInput *source,
                                                         GError **err);

Opens the root directory of an MS OLE file.

Note

This adds a reference to source.

source :

err :

Returns :

the new ole file handler

gsf_infile_msole_get_class_id ()

gboolean            gsf_infile_msole_get_class_id       (GsfInfileMSOle const *ole,
                                                         guint8 *res);

Retrieves the 16 byte indentifier (often a GUID in MS Windows apps) stored within the directory associated with ole and stores it in res.

ole :

a GsfInfileMSOle

res :

16 byte identifier (often a GUID in MS Windows apps)

Returns :

TRUE on success

GsfOutfileMSOle

typedef struct _GsfOutfileMSOle GsfOutfileMSOle;


gsf_outfile_msole_new ()

GsfOutfile*         gsf_outfile_msole_new               (GsfOutput *sink);

Creates the root directory of an MS OLE file and manages the addition of children.

Note

This adds a reference to sink.

sink :

a GsfOutput to hold the OLE2 file

Returns :

the new ole file handler.

gsf_outfile_msole_new_full ()

GsfOutfile*         gsf_outfile_msole_new_full          (GsfOutput *sink,
                                                         guint bb_size,
                                                         guint sb_size);

Creates the root directory of an MS OLE file and manages the addition of children.

Note

This adds a reference to sink.

sink :

a GsfOutput to hold the OLE2 file.

bb_size :

size of large blocks.

sb_size :

size of small blocks.

Returns :

the new ole file handler.

gsf_outfile_msole_set_class_id ()

gboolean            gsf_outfile_msole_set_class_id      (GsfOutfileMSOle *ole,
                                                         guint8 const *clsid);

Write clsid to the directory associated with ole.

ole :

a GsfOutfileMSOle

clsid :

16 byte identifier (often a GUID in MS Windows apps)

Returns :

TRUE on success.

gsf_msole_metadata_read ()

GError*             gsf_msole_metadata_read             (GsfInput *in,
                                                         GsfDocMetaData *accum);

Read a stream formated as a set of MS OLE properties from in and store the results in accum.

in :

GsfInput

accum :

GsfDocMetaData

Returns :

GError which the caller must free on error.

gsf_msole_metadata_write ()

gboolean            gsf_msole_metadata_write            (GsfOutput *out,
                                                         GsfDocMetaData const *meta_data,
                                                         gboolean doc_not_component);

out :

GsfOutput

meta_data :

GsfDocMetaData

doc_not_component :

a kludge to differentiate DocumentSummary from Summary

Returns :

TRUE on success;

gsf_msole_iconv_open_codepages_for_export ()

GIConv              gsf_msole_iconv_open_codepages_for_export
                                                        (int codepage_to,
                                                         char const *from);

codepage_to :

from :

Returns :

an iconv converter to go from utf8 -> to our best guess at a useful windows codepage.

gsf_msole_iconv_open_codepage_for_import ()

GIConv              gsf_msole_iconv_open_codepage_for_import
                                                        (char const *to,
                                                         int codepage);

to :

codepage :

Returns :

an iconv converter for codepage -> utf8.

gsf_msole_iconv_open_for_export ()

GIConv              gsf_msole_iconv_open_for_export     (void);

Returns :

an iconv convert to go from utf8 -> to our best guess at a useful windows codepage.

gsf_msole_iconv_open_codepage_for_export ()

GIConv              gsf_msole_iconv_open_codepage_for_export
                                                        (int codepage_to);

codepage_to :

Returns :

an iconv converter to go from utf8 -> to our best guess at a useful windows codepage.

gsf_msole_iconv_open_for_import ()

GIConv              gsf_msole_iconv_open_for_import     (int codepage);

codepage :

Returns :

an iconv converter for single byte encodings codepage -> utf8. Attempt to handle the semantics of a specification for multibyte encodings since this is only supposed to be used for single bytes.

gsf_msole_iconv_win_codepage ()

int                 gsf_msole_iconv_win_codepage        (void);

Returns :

our best guess at the applicable windows code page based on an environment variable or the current locale.

gsf_msole_codepage_to_lid ()

guint               gsf_msole_codepage_to_lid           (int codepage);

codepage :

Returns :


gsf_msole_lid_to_codepage ()

int                 gsf_msole_lid_to_codepage           (guint lid);

lid :

Returns :

our best guess at the codepage for the given language id

gsf_msole_lid_to_codepage_str ()

gchar*              gsf_msole_lid_to_codepage_str       (guint lid);

lid :

Returns :

the Iconv codepage string for the given LID. Return value must be g_free()'d

gsf_msole_lid_for_language ()

guint               gsf_msole_lid_for_language          (char const *lang);

lang :

Returns :

the LID (Language Identifier) for the input language. If lang is null, return 0x0400 ("-none-"), and not 0x0000 ("no proofing")

gsf_msole_language_for_lid ()

charconst *         gsf_msole_language_for_lid          (guint lid);

lid :

Returns :

the xx_YY style string (can be just xx or xxx) for the given LID. Return value must not be freed. If the LID is not found, is set to 0x0400, or is set to 0x0000, will return "-none-"

gsf_msole_inflate ()

GByteArray*         gsf_msole_inflate                   (GsfInput *input,
                                                         gsf_off_t offset);

Decompresses an LZ compressed stream.

input :

stream to read from

offset :

offset into it for start byte of compresse stream

Returns :

A GByteArray that the caller is responsible for freeing