#include <LightweightDatabaseServer.h>
Public Member Functions | |
LightweightDatabaseServer () | |
Constructor. | |
virtual | ~LightweightDatabaseServer () |
Destructor. | |
DataStructures::Table * | GetTable (char *tableName) |
| |
DataStructures::Table * | AddTable (char *tableName, bool allowRemoteQuery, bool allowRemoteUpdate, bool allowRemoteRemove, const char *queryPassword, const char *updatePassword, const char *removePassword, bool oneRowPerSystemAddress, bool onlyUpdateOwnRows, bool removeRowOnPingFailure, bool removeRowOnDisconnect, bool autogenerateRowIDs) |
bool | RemoveTable (char *tableName) |
void | Clear (void) |
Clears all memory. | |
DataStructures::Page< unsigned, DataStructures::Table::Row *, _TABLE_BPLUS_TREE_ORDER > * | GetTableRows (char *tableName) |
virtual void | OnAttach (RakPeerInterface *peer) |
virtual void | Update (RakPeerInterface *peer) |
virtual PluginReceiveResult | OnReceive (RakPeerInterface *peer, Packet *packet) |
virtual void | OnShutdown (RakPeerInterface *peer) |
virtual void | OnCloseConnection (RakPeerInterface *peer, SystemAddress systemAddress) |
DataStructures::Table * LightweightDatabaseServer::GetTable | ( | char * | tableName | ) |
Returns a table by name. It is valid to read and write to the returned pointer.
[in] | tableName | The name of the table that was passed to AddTable |
DataStructures::Table * LightweightDatabaseServer::AddTable | ( | char * | tableName, | |
bool | allowRemoteQuery, | |||
bool | allowRemoteUpdate, | |||
bool | allowRemoteRemove, | |||
const char * | queryPassword, | |||
const char * | updatePassword, | |||
const char * | removePassword, | |||
bool | oneRowPerSystemAddress, | |||
bool | onlyUpdateOwnRows, | |||
bool | removeRowOnPingFailure, | |||
bool | removeRowOnDisconnect, | |||
bool | autogenerateRowIDs | |||
) |
Adds a new table It is valid to read and write to the returned pointer.
[in] | tableName | Name of the new table to create. Remote systems will refer to this table by this name. |
[in] | allowRemoteQuery | true to allow remote systems to query the table. false to not allow this. |
[in] | allowRemoteUpdate | true to allow remote systems to update rows in the table. false to not allow this. |
[in] | allowRemoteRemove | true to allow remote systems to remove rows from the table. false to not allow this. |
[in] | queryPassword | The password required to query the table. Pass an empty string for no password. |
[in] | updatePassword | The password required to update rows in the table. Pass an empty string for no password. |
[in] | removePassword | The password required to remove rows from the table. Pass an empty string for no password. |
[in] | oneRowPerSystemAddress | Only used if allowRemoteUpdate==true. This limits remote systems to one row. |
[in] | onlyUpdateOwnRows | Only used if allowRemoteUpdate==true. This limits remote systems to only updating rows they created. |
[in] | removeRowOnPingFailure | Only used if allowRemoteUpdate==true and removeRowOnDisconnect==false. If true, this will periodically ping disconnected systems and remove rows created by that system if that system does not respond to pings. |
[in] | removeRowOnDisconnect | Only used if allowRemoteUpdate==true. This removes rows created by a system when that system disconnects. |
[in] | autogenerateRowIDs | true to automatically generate row IDs. Rows are stored in order by row ID. If false, the clients must specify a unique row ID when adding rows. If they specify a row that already exists the addition is ignored. |
bool LightweightDatabaseServer::RemoveTable | ( | char * | tableName | ) |
Removes a table by name.
[in] | tableName | The name of the table that was passed to AddTable |
DataStructures::Page< unsigned, DataStructures::Table::Row *, _TABLE_BPLUS_TREE_ORDER > * LightweightDatabaseServer::GetTableRows | ( | char * | tableName | ) |
Returns a linked list of ordered lists containing the rows of a table, by name. The returned structure is internal to the BPlus tree. See DS_BPlusTree This is a convenience accessor, as you can also get this from the table returned from GetTable()
[in] | tableName | The name of the table that was passed to AddTable |
void LightweightDatabaseServer::OnAttach | ( | RakPeerInterface * | peer | ) | [virtual] |
Called when the interface is attached
[in] | peer | the instance of RakPeer that is calling Receive |
Reimplemented from PluginInterface.
void LightweightDatabaseServer::Update | ( | RakPeerInterface * | peer | ) | [virtual] |
Update is called every time a packet is checked for .
[in] | peer | - the instance of RakPeer that is calling Receive |
Reimplemented from PluginInterface.
PluginReceiveResult LightweightDatabaseServer::OnReceive | ( | RakPeerInterface * | peer, | |
Packet * | packet | |||
) | [virtual] |
OnReceive is called for every packet.
[in] | peer | the instance of RakPeer that is calling Receive |
[in] | packet | the packet that is being returned to the user |
Reimplemented from PluginInterface.
void LightweightDatabaseServer::OnShutdown | ( | RakPeerInterface * | peer | ) | [virtual] |
Called when RakPeer is shutdown
[in] | peer | the instance of RakPeer that is calling Receive |
Reimplemented from PluginInterface.
void LightweightDatabaseServer::OnCloseConnection | ( | RakPeerInterface * | peer, | |
SystemAddress | systemAddress | |||
) | [virtual] |
Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system
[in] | peer | the instance of RakPeer that is calling Receive |
[in] | systemAddress | The system whose connection was closed |
Reimplemented from PluginInterface.