# RakNet::SQLite3ServerPlugin Class Reference
[SQLite3Plugin]

Exec SQLLite commands over the network. More...

`#include <SQLite3ServerPlugin.h>`

Inheritance diagram for RakNet::SQLite3ServerPlugin:

List of all members.

## Public Member Functions
virtual bool | AddDBHandle (RakNet::RakString dbIdentifier, sqlite3 *dbHandle, bool dbAutoCreated=false)
void | RemoveDBHandle (RakNet::RakString dbIdentifier, bool alsoCloseConnection=false)
virtual PluginReceiveResult | OnReceive (Packet *packet)
virtual void | OnAttach (void)
virtual void | OnDetach (void)
virtual void | Update (void)
| Update is called every time a packet is checked for .

## Detailed Description

Exec SQLLite commands over the network.

SQLite version 3 supports remote calls via networked file handles, but not over the regular internet
This plugin will serialize calls to and results from sqlite3_exec
That's all it does - any remote system can execute SQL queries.
Intended as a starting platform to derive from for more advanced functionality (security over who can query, etc).
Compatible as a plugin with both RakPeerInterface and PacketizedTCP

## Member Function Documentation

virtual bool RakNet::SQLite3ServerPlugin::AddDBHandle | ( | RakNet::RakString | dbIdentifier,
|  | sqlite3 * | dbHandle,
|  | bool | dbAutoCreated = `false` |
| ) |  |  | `[virtual]`

Associate identifier with dbHandle, so when we get calls to operate on identifier, we use dbhandle If SQLite3_STATEMENT_EXECUTE_THREADED is defined, will start the execution thread the first time a dbHandle is added.

Returns:
  true on success, false on dbIdentifier empty, or already in use

virtual void RakNet::SQLite3ServerPlugin::OnAttach | ( | void |  | ) | `[virtual]`

Called when the interface is attached

Parameters:

  `[in]` | peer | the instance of RakPeer that is calling Receive

Reimplemented from PluginInterface2.

virtual void RakNet::SQLite3ServerPlugin::OnDetach | ( | void |  | ) | `[virtual]`

Called when the interface is detached

Parameters:

  `[in]` | peer | the instance of RakPeer that is calling Receive

Reimplemented from PluginInterface2.

virtual PluginReceiveResult RakNet::SQLite3ServerPlugin::OnReceive | ( | Packet * | packet | ) | `[virtual]`

OnReceive is called for every packet.

Parameters:

  `[in]` | packet | the packet that is being returned to the user

Returns:
  True to allow the game and other plugins to get this message, false to absorb it

Reimplemented from PluginInterface2.

void RakNet::SQLite3ServerPlugin::RemoveDBHandle | ( | RakNet::RakString | dbIdentifier,
|  | bool | alsoCloseConnection = `false` |
| ) |  |  |

Stop using a dbHandle, lookup either by identifier or by pointer. If SQLite3_STATEMENT_EXECUTE_THREADED is defined, do not call this while processing commands, since the commands run in a thread and might be using the dbHandle Call before closing the handle or else SQLite3Plugin won't know that it was closed, and will continue using it

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

- d:/RakNet-3.x/DependentExtensions/SQLite3Plugin/SQLite3ServerPlugin.h