Struct msi::Package [] [src]

pub struct Package<F> { /* fields omitted */ }

An MSI package file, backed by an underlying reader/writer (such as a File or Cursor).

Methods

impl<F> Package<F>
[src]

Returns what type of package this is.

Returns summary information for this package.

Returns the code page used for serializing strings in the database.

Returns true if the database has a table with the given name.

Returns the database table with the given name (if any).

Returns an iterator over the database tables in this package.

Returns true if the database has an embedded binary stream with the given name.

Returns an iterator over the embedded binary streams in this package.

Consumes the Package object, returning the underlying reader/writer.

impl<F: Read + Seek> Package<F>
[src]

Opens an existing MSI file, using the underlying reader. If the underlying reader also supports the Write trait, then the Package object will be writable as well.

Attempts to execute a select query. Returns an error if the query fails (e.g. due to the column names being incorrect or the table(s) not existing).

Opens an existing binary stream in the package for reading.

impl<F: Read + Write + Seek> Package<F>
[src]

Creates a new, empty package of the given type, using the underlying reader/writer. The reader/writer should be initially empty.

Returns a mutable reference to the summary information for this package. Call flush() or drop the Package object to persist any changes made to the underlying writer.

Sets the code page used for serializing strings in the database.

Creates a new database table. Returns an error without modifying the table name or columns are invalid, or if a table with that name already exists.

Attempts to execute a delete query. Returns an error without modifying the database if the query fails (e.g. due to the table not existing).

Attempts to execute an insert query. Returns an error without modifying the database if the query fails (e.g. due to values being invalid, or keys not being unique, or the table not existing).

Attempts to execute an update query. Returns an error without modifying the database if the query fails (e.g. due to values being invalid, or column names being incorrect, or the table not existing).

Creates (or overwrites) a binary stream in the package.

Flushes any buffered changes to the underlying writer.

Trait Implementations

impl<F> Drop for Package<F>
[src]

A method called when the value goes out of scope. Read more