winIDEA SDK
|
This contains utility functions and typedefs for C++ containers used in isystem.connect.
Containers are mapped to other language in a way to make their usage as close to destination language as possible. For example, StrStrMap wrapper class in Python supports overloaded operators, iterators, and easy conversion between C++ and Python objects. For example:
m = {'a': 'r', 'b': 'q'} sm = isystem.connect.StrStrMap(m) # Python mapping to StrStrMap. m2 = dict(sm) # m2 is Python mapping sm['x'] = 'y' # overloaded []
#include "BB_CRT/AddressDefs.h"
#include "isys_common/isys_expression.h"
#include <string>
#include <vector>
#include <map>
#include <set>
Typedefs | |
typedef std::vector< ADDRESS_64 > | iconnect::AddressVector |
Vector of addresses. | |
typedef std::vector< unsigned char > | iconnect::ByteVector |
Vector of unsigned bytes. | |
typedef ByteVector::const_iterator | iconnect::ByteVectorConstIter |
ByteVector const iterator. | |
typedef ByteVector::iterator | iconnect::ByteVectorIter |
ByteVector iterator. | |
typedef std::vector< uint64_t > | iconnect::DQordVector |
Vector of unsigned 32-bit integers. | |
typedef std::vector< uint32_t > | iconnect::DWordVector |
Vector of unsigned 32-bit integers. | |
typedef DWordVector::const_iterator | iconnect::DWordVectorConstIter |
DWordVector const iterator. | |
typedef DWordVector::iterator | iconnect::DWordVectorIter |
DWordVector iterator. | |
typedef std::vector< int > | iconnect::IntVector |
Vector of integers. | |
typedef IntVector::const_iterator | iconnect::IntVectorConstIter |
IntVector const iterator. | |
typedef IntVector::iterator | iconnect::IntVectorIter |
IntVector iterator. | |
typedef std::set< std::string > | iconnect::StrSet |
Set of strings. | |
typedef std::map< std::string, std::string > | iconnect::StrStrMap |
Map of [string, string] pairs. | |
typedef StrStrMap::const_iterator | iconnect::StrStrMapConstIter |
StrStrMap const iterator. | |
typedef StrStrMap::iterator | iconnect::StrStrMapIter |
StrStrMap iterator. | |
typedef std::vector< std::string > | iconnect::StrVector |
Vector of strings. | |
typedef StrVector::const_iterator | iconnect::StrVectorConstIter |
StrVector const iterator. | |
typedef StrVector::iterator | iconnect::StrVectorIter |
StrVector iterator. | |
Enumerations | |
enum | iconnect::ETristate |
This enum is used for boolean values, which may be defined as false or true, or are not defined in which case the default value is used. | |
Functions | |
std::string | iconnect::create_qualified_name (const isys::Ssymbol_FQN &fqn, uint16_t format_flags=isys::Ssymbol_FQN::eFull) |
This function creates a string with qualified symbol name from components given in the input struct. | |
std::string | iconnect::getModuleVersion () |
This function returns version of current isystem.connect module in format: {<major> . | |
std::string | iconnect::getUID () |
Returns string unique for this process. | |
isys::Ssymbol_FQN | iconnect::parse_qualified_name (const std::string &svFQN) |
This function parses fully qualified name of a symbol and returns its components in a struct. | |
void | iconnect::putStrStrMap (StrStrMap &container, const std::string &key, const std::string &value) |
int | iconnect::readChar () |
Reads a single character from stdin, if available. | |
void | iconnect::requires_SDK (const uint8_t nMajor, const uint8_t nMinor, const uint16_t nBuild, uint16_t nSubBuild=0xFFFF, uint32_t nSccBuild=0xFFFFFFFF) |
Checks if current version is older than specified in parameters and throws exception if that is the case. | |
std::string iconnect::create_qualified_name | ( | const isys::Ssymbol_FQN & | fqn, |
uint16_t | format_flags = isys::Ssymbol_FQN::eFull ) |
This function creates a string with qualified symbol name from components given in the input struct.
std::string iconnect::getModuleVersion | ( | ) |
This function returns version of current isystem.connect module in format: {<major>
.
<minor>.<build>.<sub_build>}, for example '9.12.184.0'. Use this function if you want to print version only, otherwise usage of getSdkVersion() is preferred.
std::string iconnect::getUID | ( | ) |
Returns string unique for this process.
This function is not reentrant. The string may contain numbers and letters.
isys::Ssymbol_FQN iconnect::parse_qualified_name | ( | const std::string & | svFQN | ) |
This function parses fully qualified name of a symbol and returns its components in a struct.
Symbols in an application can have many qualifiers to be uniquely identifiable, but not all of them are always necessary. Additionally this function supports parsing of modifiers, which are used only for presentation of symbol value.
Symbol name is composed of:
<file name>#<function>##<instance>###<namespace><naked><signature>
The following terms are also used:
<qualified name>,,<partition>,,,<process>
<fully qualified name>,<modifier>
void iconnect::putStrStrMap | ( | StrStrMap & | container, |
const std::string & | key, | ||
const std::string & | value ) |
Utility method for adding (key, value) pairs to StrStrMap. Intended to be used from Python and Java code.
int iconnect::readChar | ( | ) |
Reads a single character from stdin, if available.
If the character is not available, 0 is returned.
void iconnect::requires_SDK | ( | const uint8_t | nMajor, |
const uint8_t | nMinor, | ||
const uint16_t | nBuild, | ||
uint16_t | nSubBuild = 0xFFFF, | ||
uint32_t | nSccBuild = 0xFFFFFFFF ) |
Checks if current version is older than specified in parameters and throws exception if that is the case.
nMajor | major version number |
nMinor | minor version number |
nBuild | build number |
nSubBuild | sub-build number, optional |
nSccBuild | source control revision number, optional |