InspIRCd  2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations
Public Member Functions | Protected Member Functions | List of all members
ExtensionItem Class Referenceabstract

#include <extensible.h>

Inheritance diagram for ExtensionItem:
ServiceProvider usecountbase classbase LocalExtItem StringExtItem LocalIntExt SimpleExtItem< T > SimpleExtItem< std::string > LocalStringExt

Public Member Functions

 ExtensionItem (const std::string &key, Module *owner)
 
virtual std::string serialize (SerializeFormat format, const Extensible *container, void *item) const =0
 
virtual void unserialize (SerializeFormat format, Extensible *container, const std::string &value)=0
 
virtual void free (void *item)=0
 
- Public Member Functions inherited from ServiceProvider
 ServiceProvider (Module *Creator, const std::string &Name, ServiceType Type)
 
- Public Member Functions inherited from classbase
virtual CullResult cull ()
 
- Public Member Functions inherited from usecountbase
unsigned int GetUseCount () const
 
void refcount_inc () const
 
bool refcount_dec () const
 

Protected Member Functions

void * get_raw (const Extensible *container) const
 
void * set_raw (Extensible *container, void *value)
 
void * unset_raw (Extensible *container)
 

Additional Inherited Members

- Public Attributes inherited from ServiceProvider
ModuleRef creator
 
const std::string name
 
const ServiceType service
 

Detailed Description

Class represnting an extension of some object

Member Function Documentation

virtual void ExtensionItem::free ( void *  item)
pure virtual
void * ExtensionItem::get_raw ( const Extensible container) const
protected

Get the item from the internal map

virtual std::string ExtensionItem::serialize ( SerializeFormat  format,
const Extensible container,
void *  item 
) const
pure virtual

Serialize this item into a string

Parameters
formatThe format to serialize to
containerThe object containing this item
itemThe item itself

Implemented in StringExtItem, LocalIntExt, LocalStringExt, and LocalExtItem.

void * ExtensionItem::set_raw ( Extensible container,
void *  value 
)
protected

Set the item in the internal map; returns old value

virtual void ExtensionItem::unserialize ( SerializeFormat  format,
Extensible container,
const std::string &  value 
)
pure virtual

Convert the string form back into an item

Parameters
formatThe format to serialize from (not FORMAT_USER)
containerThe object that this item applies to
valueThe return from a serialize() call that was run elsewhere with this key

Implemented in StringExtItem, and LocalExtItem.

void * ExtensionItem::unset_raw ( Extensible container)
protected

Remove the item from the internal map; returns old value


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