To Do (Dev)
------------

Add DataShares to Catalogue
Implement DataShare Repost capability
Restrict opening Private DataShares
Restrict updating Read Only DataShares
Implement DataShare Updating & Reposting

Long Term Ideas:
----------------

Add Groups to DataPack so that Data Items can be inserted into nested groups.
Use Named Pipes to implement the Send of messages and alerts.
Use Named Pipes or TCP/IP to send DataShares between Hosts (this is a big one!)

Catalogue:
----------

Any DataShares with a name will have an entry in the Catalogue.
Catalogue entries will be stored in a list format of fixed size / index
If an catalogue entry has an ID defined then it is valid and has a corresponding Header entry
The delete a catalogue entry the ID must be set to 0 and the slot can then be re-used
There should be a function to check all catalogue entries to check to see if that name has been used before.

Groups:
-------

Be implemented as a GROUP Data Type (probably first type in enum) and stored as a Data Item
Can be named or can have a numeric value (such as its index in a list of groups) instead of a name
Can optionally have the maximum number of items in the group as a short value
If no size specified for the number of items in the group then all the following items will be included until the next Group Item is encountered or the end of the Items reached.
If a size is specified then the group will be considered ended once that number of Items have been read, the next Group Item is detected or the end of the Items reached.
