InspIRCd  2.0
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

◆ free()

virtual void ExtensionItem::free ( void *  item)
pure virtual

◆ get_raw()

void * ExtensionItem::get_raw ( const Extensible container) const

Get the item from the internal map

◆ serialize()

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

Serialize this item into a string

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

Implemented in StringExtItem, LocalIntExt, LocalStringExt, and LocalExtItem.

◆ set_raw()

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

Set the item in the internal map; returns old value

◆ unserialize()

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

Convert the string form back into an item

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.

◆ unset_raw()

void * ExtensionItem::unset_raw ( Extensible container)

Remove the item from the internal map; returns old value

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