Made to Order Software Corporation Logo

libsswf: sswf::TagHeader::Factory Class Reference

#include <libsswf.h>

List of all members.

Public Member Functions

 Factory (swf_tag_t tag, int priority=0)
 Initializes a factory.
int GetPriority (void) const
 Return this factory priority.
swf_tag_t GetTag (void) const
 Return the tag identifier that this factory represents.
virtual TagBaseNewTag (TagBase *parent, const Data &data) const =0
virtual ~Factory ()
 Cleanup this factory.

Private Attributes

const int f_priority
const swf_tag_t f_tag_id

Constructor & Destructor Documentation

TagHeader::Factory::Factory ( swf_tag_t  tag,
int  priority = 0 

The factory constructor saves the factory tag and returns.

By default, the system factories have a priority of 0. To override a system factory, use a priority of 1 or more.

[in] tag The tag representing that factory.
[in] priority The priority of this factory.

References RegisterFactory().

TagHeader::Factory::~Factory (  )  [virtual]

This function removes the factory from the list of known factories in the TagHeader list.

References UnregisterFactory().

Member Function Documentation

int TagHeader::Factory::GetPriority ( void   )  const

This function returns the priority of this factory.

This allows you to create multiple factories for the same tag, which allow you to override system factories in your code.

The factory with the highest priority is used. The others are ignored.

The tag identifier that this factory represents

References f_priority.

Referenced by RegisterFactory().

TagBase::swf_tag_t TagHeader::Factory::GetTag ( void   )  const

This function returns the tag that this factory represents.

The tag identifier that this factory represents

References f_tag_id.

Referenced by RegisterFactory(), and UnregisterFactory().

virtual TagBase* sswf::TagHeader::Factory::NewTag ( TagBase parent,
const Data data 
) const [pure virtual]

Referenced by sswf::TagHeader::Load().

Member Data Documentation

Referenced by GetPriority().

Referenced by GetTag().

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

Generated on Wed Mar 18 15:13:59 2009 for libsswf by  doxygen 1.5.5