General changes

Note: The usage of the new API may be a bit complex because of the requirement of keeping it backward compatible with the previous IS versions.
ISInfoDictionary::insert( const std::string & name, ISInfo & info, int tag = -1 )
tag == -1: zero tag will be assigned to the given value of the new IS object
tag != -1: the tag tag will be assigned to given value of the new IS object
ISInfoDictionary::update( const std::string & name, ISInfo & info, bool keep_history = false, int tag = -1 )
ISNamedInfo::chekin(bool keep_history = false, int tag = -1 )
keep_history == false:
tag == -1: replaces the most recent object value in the repository, its tag in the repository will be
set to the (highest tag so far + 1)
tag != -1: if the tag already exists replaces the value with the given tag or replaces the most recent value and assigns the tag tag to it
keep_history == true:
tag == -1: adds new value to the given IS object, its tag will be set to the (highest tag so far + 1)
tag != -1:  if the tag already exists replaces the value with the given tag or adds a new value and assigns the tag tag to it
ISInfoDictionary::getValue( const std::string & name, ISInfo & info, int tag = -1 )
ISNamedInfo::chekout( int tag = -1 )
tag == -1: returns the most recent value of the given object
tag != -1: returns the value of the object which corresponds to this tag. If tag does not exist the daq::is::NotFound exception will be thrown

ISInfoDictionary::getTags( const std::string & name, vector< pair<int,OWLTime> > & tags)
Returns all tags for the given object.

In addition the ISInfo class provides the new function:
int tag() const;
which can be used to get the object's tag. This function returns sensible value only if it is applied to the object which has been successfully used for reading a value from the IS repository.
std::ostream & print( std::ostream & out );
as well as the following global operator:
std::ostream & operator<<( std::ostream & out, const ISInfoXXX & info );
where ISInfoXXX is the name of the generated class.

IS Monitor

IS monitor provides possibility to select a subset of infomation objects which is being displayed. This functionality is provided by the edit controls which are added to each column of the infomation table. While one types some text in one of them the list of displayed objects is updated to iclude only those ones which have the typed text in the selected column.

To be provided