AFI
Advanced Forwarding Interface
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
AftRemove Class Reference

Transactional insert used for removing sandbox state. More...

#include <AftSandbox.h>

Public Member Functions

 AftRemove (const AftInsertPtr &insert)
 Constructor for insert blocks. More...
 
template<class T >
void remove (T handler)
 
void update (const AftRemovePtr &newRemove)
 Used to trim the remove block of any nodes/entries required by an update. More...
 
void push (const AftNodeToken nodeToken)
 Push token on to remove block. More...
 
void push (const AftNodePtr &node)
 Push node on to remove block. More...
 
void push (const AftEntryPtr &entry)
 Push entry on to remove block. More...
 
void erase (const AftNodeToken nodeToken)
 Erase a node token in a remove block. More...
 
void erase (const AftEntryPtr &entry)
 Erase an entry in a remove block. More...
 
void clear ()
 Clear any pushed state from block.
 
const AftTokenVector & nodes () const
 
const AftEntryVector & entries () const
 

Static Public Member Functions

static AftRemovePtr create ()
 Factory constructor for remove blocks.
 
static AftRemovePtr create (const AftInsertPtr &insert)
 Factory constructor for insert blocks. More...
 

Protected Attributes

friend AftSandbox
 AftSandbox accesses protected vectors.
 
AftTokenVector _nodes
 Vector of node tokens to delete.
 
AftEntryVector _entries
 Vector of entries to delete.
 
bool _sent
 True if the remove has been sent to a sandbox.
 

Detailed Description

Transactional insert used for removing sandbox state.

Constructor & Destructor Documentation

AftRemove::AftRemove ( const AftInsertPtr &  insert)
inline

Constructor for insert blocks.

Parameters
[in]insertReference to insert block to convert to remove block

Member Function Documentation

static AftRemovePtr AftRemove::create ( const AftInsertPtr &  insert)
inlinestatic

Factory constructor for insert blocks.

Parameters
[in]insertReference to insert block to convert to remove block
const AftEntryVector& AftRemove::entries ( ) const
inline
Returns
Vector of AftEntry objects to insert sandbox
void AftRemove::erase ( const AftNodeToken  nodeToken)
inline

Erase a node token in a remove block.

Parameters
[in]nodeTokenNode token to find and erase
void AftRemove::erase ( const AftEntryPtr &  entry)
inline

Erase an entry in a remove block.

Parameters
[in]entryReference to entry to find and erase
const AftTokenVector& AftRemove::nodes ( ) const
inline
Returns
Vector of AftNode objects to insert in sandbox
void AftRemove::push ( const AftNodeToken  nodeToken)
inline

Push token on to remove block.

Parameters
[in]nodeTokenToken to use for pushed node
void AftRemove::push ( const AftNodePtr &  node)
inline

Push node on to remove block.

Parameters
[in]nodeReference to node to push into remove block
void AftRemove::push ( const AftEntryPtr &  entry)
inline

Push entry on to remove block.

Parameters
[in]entryReference to entry to push into remove block
void AftRemove::update ( const AftRemovePtr &  newRemove)
inline

Used to trim the remove block of any nodes/entries required by an update.

Parameters
[in]newRemoveReference to remove block to filter against

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