Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
IDLExport Class Reference

#include <export.hh>

Inheritance diagram for IDLExport:
Inheritance graph
[legend]

List of all members.

Classes

struct  TypedefSpec

Public Member Functions

std::string getIDLAbsolute (Typelib::Type const &type) const
std::string getIDLRelative (Typelib::Type const &type, std::string const &relative_to) const
std::string getNamespacePrefix () const
std::string getNamespaceSuffix () const
 IDLExport ()
bool marshalOpaquesAsAny () const
virtual void save (std::ostream &stream, utilmm::config_set const &config, Typelib::Registry const &type)
virtual bool save (std::ostream &stream, Typelib::RegistryIterator const &type)

Static Public Member Functions

static void checkType (Typelib::Type const &type)

Protected Member Functions

virtual void end (std::ostream &stream, Typelib::Registry const &registry)

Private Types

typedef std::map< std::string,
std::list< std::string > > 
TypedefMap

Private Member Functions

void adaptNamespace (std::ostream &stream, std::string const &ns)
void closeNamespaces (std::ostream &stream, int levels)
void generateTypedefs (std::ostream &stream)

Private Attributes

int m_blob_threshold
std::map< std::string,
Typelib::Type const * > 
m_exported_typedefs
std::string m_indent
std::string m_namespace
std::string m_ns_prefix
std::string m_ns_suffix
bool m_opaque_as_any
std::set< std::string > m_selected_types
TypedefMap m_typedefs

Detailed Description

Definition at line 18 of file idl/export.hh.


Member Typedef Documentation

typedef std::map<std::string, std::list<std::string> > IDLExport::TypedefMap [private]

Definition at line 34 of file idl/export.hh.


Constructor & Destructor Documentation

Definition at line 381 of file idl/export.cc.


Member Function Documentation

void IDLExport::adaptNamespace ( std::ostream &  stream,
std::string const &  ns 
) [private]

Definition at line 420 of file idl/export.cc.

void IDLExport::checkType ( Typelib::Type const &  type) [static]

Definition at line 407 of file idl/export.cc.

void IDLExport::closeNamespaces ( std::ostream &  stream,
int  levels 
) [private]

Definition at line 398 of file idl/export.cc.

void IDLExport::end ( std::ostream &  stream,
Typelib::Registry const &  registry 
) [protected, virtual]

Called by save to add data after saving all registry types

Reimplemented from Typelib::Exporter.

Definition at line 387 of file idl/export.cc.

void IDLExport::generateTypedefs ( std::ostream &  stream) [private]

Definition at line 474 of file idl/export.cc.

std::string IDLExport::getIDLAbsolute ( Typelib::Type const &  type) const

Definition at line 446 of file idl/export.cc.

std::string IDLExport::getIDLRelative ( Typelib::Type const &  type,
std::string const &  relative_to 
) const

Definition at line 451 of file idl/export.cc.

std::string IDLExport::getNamespacePrefix ( ) const

Definition at line 487 of file idl/export.cc.

std::string IDLExport::getNamespaceSuffix ( ) const

Definition at line 491 of file idl/export.cc.

Definition at line 384 of file idl/export.cc.

virtual void IDLExport::save ( std::ostream &  stream,
utilmm::config_set const &  config,
Typelib::Registry const &  registry 
) [virtual]

Serialize a whole registry using this exporter

  • stream the stream to write to
  • config configuration object if per-exporter configuration is needed
  • registry the registry to be saved

The default implementation calls begin(), iterates on all elements in registry, taking into account dependencies (i.e. a type will be serialized before another type which references it) and finally calls end()

Exceptions:
UnsupportedTypeif a type cannot be serialized in this format. In particular, this is thrown if the registry contains recursive types
ExportErrorfor all export errors

Reimplemented from Typelib::Exporter.

virtual bool IDLExport::save ( std::ostream &  stream,
Typelib::RegistryIterator const &  type 
) [virtual]

Serialize one type in stream. It is called by Registry::save(ostream&, Registry const&)

  • stream the stream to write to
  • type the type to be serialized
    Returns:
    true if the type has been saved and false if it is ignored by this exporter

Implements Typelib::Exporter.


Member Data Documentation

Definition at line 24 of file idl/export.hh.

std::map<std::string, Typelib::Type const*> IDLExport::m_exported_typedefs [private]

The set of typedefs that have been exported during the generation process, -- i.e. before the end of generation

Definition at line 40 of file idl/export.hh.

std::string IDLExport::m_indent [private]

Definition at line 23 of file idl/export.hh.

std::string IDLExport::m_namespace [private]

Definition at line 20 of file idl/export.hh.

std::string IDLExport::m_ns_prefix [private]

Definition at line 21 of file idl/export.hh.

std::string IDLExport::m_ns_suffix [private]

Definition at line 22 of file idl/export.hh.

Definition at line 25 of file idl/export.hh.

std::set<std::string> IDLExport::m_selected_types [private]

Definition at line 27 of file idl/export.hh.

Definition at line 35 of file idl/export.hh.


The documentation for this class was generated from the following files:


typelib
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Thu Jan 2 2014 11:38:41