General changes
- IS API provides now a way of assigning 32 bit integer tags to the
IS history values. Those tags can be used to reference a particular
value from the IS history. Here are few example of how the new API can
be used.
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.
- IS supports now 64-bit signed and unsigned numbers as types of IS
information attributes both in Java and C++. In C++ those attributes
are having the int64_t and uint64_t types. In Java the long type is used.
- IS code generator generates now the following member function for
the C++ IS classes:
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
- Doxygen documentation for the IS API.
- Up-to-date User's Guide.