#include <Key.h>
Public Member Functions | |
virtual void | ClearKeyStatus () |
virtual Bool_t | Convert (const Key *akey) |
convert a key to another key ... not an easy task ... use it carefully More... | |
virtual Bool_t | Copy (const Char_t *, UInt_t) |
Copy an external buffer to this key. More... | |
virtual Bool_t | Copy (const Key *) |
copy the content of an external key to this key More... | |
virtual Bool_t | Export (BufferIO &buf) const |
to copy the content of the key to an external buffer More... | |
virtual const Char_t * | GetAddress () const |
virtual UInt_t | GetDataLength () const |
virtual BaseBuffer::EEndian | GetEndian () const |
virtual UInt_t | GetFrameLength () const |
virtual UInt_t | GetKeyLength () const |
Unique number corresponding to a type of Key. More... | |
virtual BaseBuffer::EStatus | GetKeyStatus () const |
virtual const BufferIO * | GetRealBuffer () const |
const FactoryItem & | GetSignature () const |
virtual Bool_t | IsAKey (const Key *akey) const |
Compares two keys. More... | |
virtual Bool_t | IsLinked () const |
virtual Bool_t | Link (const Char_t *, UInt_t) |
Link an external buffer to this key. More... | |
virtual Bool_t | Link (const BufferIO &buf, UInt_t pos, UInt_t size) |
Link an external buffer to this key. More... | |
virtual void | Print (std::ostream &out=std::cout) const |
Print the content of the key. More... | |
virtual void | SetDataLength (UShort_t) |
virtual void | SetDataLength (UInt_t) |
virtual void | Unlink () |
Unlink the buffer attached to this key. More... | |
virtual | ~Key () |
Protected Member Functions | |
Version | GetVersion () const |
Key (BaseBuffer::EEndian, UInt_t s) | |
Constructor to be used by any Key that inherits from this class. More... | |
virtual BufferIO * | RealBuffer () |
Used by specific methods. More... | |
Protected Attributes | |
BufferIO * | fBuffer |
the buffer that fills in/out the Key More... | |
Friends | |
class | ConcreteFrame |
class | KeyFactory |
Base class for a Key.
A key is a (short) buffer that helps to map the data flow. One of the most simple Key is, for instance, just an integer giving the size of the frame in which are stored data.
A Key should not be allocated directly but through a KeyFactory
To add new keys: For the consistancy of the system, your key have to inherits of this base class and you MUST use the constructor Key(BaseBuffer::EEndian, UInt_t s, const Char_t *); (see for instance the class AgataKey)