MS OLE2

MS OLE2

Functions

Types and Values

Object Hierarchy

    GObject
    ├── GsfInput
       ╰── GsfInfile
           ╰── GsfInfileMSOle
    ╰── GsfOutput
        ╰── GsfOutfile
            ╰── GsfOutfileMSOle

Description

Functions

gsf_infile_msole_new ()

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

Opens the root directory of an MS OLE file.

This adds a reference to source.

Parameters

source

GsfInput

 

err

optional place to store an error

 

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 .

Parameters

ole

a GsfInfileMSOle

 

res

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

 

Returns

TRUE on success


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.

This adds a reference to sink.

Parameters

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.

This adds a reference to sink.

Parameters

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 .

Parameters

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 .

Parameters

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);

Parameters

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);

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);

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);

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);

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);

Returns


gsf_msole_lid_to_codepage ()

int
gsf_msole_lid_to_codepage (guint 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);

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);

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 ()

char const *
gsf_msole_language_for_lid (guint 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.

Parameters

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

Types and Values

GsfInfileMSOle

typedef struct _GsfInfileMSOle GsfInfileMSOle;


GsfOutfileMSOle

typedef struct _GsfOutfileMSOle GsfOutfileMSOle;