OpenRTM  1.0.0
Classes | Typedefs | Functions
coil Namespace Reference

Common Object Interface Layer. More...

Classes

class  Allocator
 Allocator class. More...
class  Async
 Async class. More...
class  Async_t
 Async_t template class. More...
class  Async_ref_t
 Async_ref_t template class. More...
class  Condition
 Condition template class. More...
class  DynamicLib
 DynamicLib class. More...
class  Factory
 Factory template class. More...
class  GlobalFactory
 GlobalFactory template class. More...
class  Guard
 Guard template class. More...
class  log_streambuf
 log_streambuf template class More...
class  log_stream
 log_stream template class More...
class  Mutex
 Mutex class. More...
class  NonCopyable
 Non-copyable Mixin. More...
class  NonCopyableCRTP
class  GetOpt
 GetOpt class. More...
class  PeriodicTask
 PeriodicTask class. More...
class  TaskFuncBase
 TaskFuncBase class. More...
class  TaskFunc
 TaskFunc template class. More...
class  PeriodicTaskBase
 PeriodicTaskBase class. More...
class  Properties
 Class represents a set of properties. More...
class  SignalAction
 SignalAction class. More...
class  Singleton
 Singleton template class. More...
class  Task
 Task class. More...
class  TimeMeasure
 TimeMeasure class. More...
class  Timer
 Timer class. More...
class  TimeValue
 TimeValue class. More...

Typedefs

typedef log_streambuf< char > LogStreamBuffer
typedef log_stream< char > LogStream
typedef ::utsname utsname
 Get System information.
typedef ::pid_t pid_t
 Get process ID of the caller process.
typedef void(* SignalHandler )(int)
typedef std::vector< std::string > vstring

Functions

template<typename Object , typename Func >
Async_t< Object, Func > * AsyncInvoker (Object *obj, Func func, bool auto_delete=false)
 Helper function for async member function summons.
template<typename Object , typename Func >
Async_ref_t< Object, Func > * AsyncInvoker (Object *obj, Func *func, bool auto_delete=false)
 Helper function for async member function summons.
unsigned short crc16 (const char *str, size_t len)
unsigned long crc32 (const char *str, size_t len)
 CRC-32 calculation function.
template<class AbstractClass , class ConcreteClass >
AbstractClass * Creator ()
 Creator template.
template<class AbstractClass , class ConcreteClass >
void Destructor (AbstractClass *&obj)
 Destructor template.
std::string dirname (char *path)
 Get a directory part than a file pass.
std::string basename (const char *path)
 Get a file name part than a file pass.
coil::vstring filelist (const char *path, const char *glob_str="")
 Get file list.
int uname (utsname *name)
pid_t getpid ()
pid_t getppid ()
 Get process ID of the parent process.
char * getenv (const char *name)
 Get environment variable.
int launch_shell (std::string command)
 Launching a process.
int daemon (int nochdir, int noclose)
bool dest_to_endpoint (std::string dest_addr, std::string &endpoint)
 Getting network interface name from destination address.
bool find_dest_ifname (std::string dest_addr, std::string &dest_if)
 Getting network interface name from destination address.
bool ifname_to_ipaddr (std::string ifname, std::string &ipaddr)
 Get IP address from a network interface name.
std::wstring string2wstring (std::string str)
 string to wstring conversion
std::string wstring2string (std::wstring wstr)
 wstring to string conversion
void toUpper (std::string &str)
 Uppercase String Transformation.
void toLower (std::string &str)
 Lowercase String Transformation.
int getlinePortable (std::istream &istr, std::string &line)
 Read a line from input stream.
bool isEscaped (const std::string &str, std::string::size_type pos)
 Check whether the character is escaped or not.
std::string escape (const std::string str)
 Escape string.
std::string unescape (const std::string str)
 Unescape string.
void eraseBlank (std::string &str)
 Erase blank characters of string.
void eraseHeadBlank (std::string &str)
 Erase the head blank characters of string.
void eraseTailBlank (std::string &str)
 Erase the tail blank characters of string.
void eraseBothEndsBlank (std::string &str)
 Erase the head blank and the tail blank characters of string.
std::string normalize (std::string &str)
 Erase the head/tail blank and replace upper case to lower case.
unsigned int replaceString (std::string &str, const std::string from, const std::string to)
 Replace string.
vstring split (const std::string &input, const std::string &delimiter, bool ignore_empty=false)
 Split string by delimiter.
bool toBool (std::string str, std::string yes, std::string no, bool default_value=true)
 Convert given string into bool value.
bool includes (const vstring &list, std::string value, bool ignore_case=true)
 Include if a string is included in string list.
bool includes (const std::string &list, std::string value, bool ignore_case=true)
 Include if a string is included in string list.
bool isAbsolutePath (const std::string &str)
 Investigate whether the given string is absolute path or not.
bool isURL (const std::string &str)
 Investigate whether the given string is URL or not.
template<class Printable >
std::string otos (Printable n)
 Convert the given object to std::string.
template<typename To >
bool stringTo (To &val, const char *str)
 Convert the given std::string to object.
template<>
bool stringTo< std::string > (std::string &val, const char *str)
 Convert the given string to std::string.
vstring unique_sv (vstring sv)
 Eliminate duplication from the given string list.
std::string flatten (vstring sv)
 Create CSV file from the given string list.
char ** toArgv (const vstring &args)
 Convert the given string list into the argument list.
std::string sprintf (char const *__restrict fmt,...)
 Convert it into a format given with an argumen.
unsigned int sleep (unsigned int seconds)
 Stop a processing at specified second time.
int sleep (TimeValue interval)
 Stop a processing at specified second time.
int usleep (useconds_t usec)
 Stop a processing at specified micro second time.
int gettimeofday (struct timeval *tv, struct timezone *tz)
 Get the time and timezone.
TimeValue gettimeofday ()
 Get the time.
int settimeofday (const struct timeval *tv, const struct timezone *tz)
 Set the time and timezone.

Detailed Description

Common Object Interface Layer.


Typedef Documentation

typedef log_stream<char> coil::LogStream
typedef ::pid_t coil::pid_t

Get process ID of the caller process.

Return a process ID of the caller process.

Returns:
Process ID
typedef void(* coil::SignalHandler)(int)

Get System information.

Return a system information to a structure.

Parameters:
nameName of structure
Returns:
0: Successful, -1: failed
typedef std::vector<std::string> coil::vstring

Function Documentation

template<typename Object , typename Func >
Async_t<Object, Func>* coil::AsyncInvoker ( Object *  obj,
Func  func,
bool  auto_delete = false 
) [inline]

Helper function for async member function summons.

Helper function for async member function summons.

Parameters:
objThe target object for the asynchronous function.
funcAsynchronous function.
auto_deleteflag for automatic instance destruction.
Returns:
Async_t Instance
template<typename Object , typename Func >
Async_ref_t<Object, Func>* coil::AsyncInvoker ( Object *  obj,
Func *  func,
bool  auto_delete = false 
) [inline]

Helper function for async member function summons.

Helper function for async member function summons.

Parameters:
objThe target object for the asynchronous function.
funcAsynchronous function.
auto_deleteflag for automatic instance destruction.
Returns:
Async_ref_t Instance
std::string coil::basename ( const char *  path) [inline]

Get a file name part than a file pass.

Get a directory part than a file pass.

Parameters:
pathFile path
Returns:
File name
unsigned short coil::crc16 ( const char *  str,
size_t  len 
)
unsigned long coil::crc32 ( const char *  str,
size_t  len 
)

CRC-32 calculation function.

CRC type: RFC2083 Appendix 15 http://www.faqs.org/rfcs/rfc2083.html http://www.efg2.com/Lab/Mathematics/CRC.htm CRC polynomial: 0xedb88320L Initial value: 0xFFFFFFFF Output XOR: 0xFFFFFFFF Input bit inversion: None Output bit inversion: None Bit shift: right

Parameters:
strData stream
lenData length
Returns:
Result calculation
template<class AbstractClass , class ConcreteClass >
AbstractClass* coil::Creator ( )

Creator template.

int coil::daemon ( int  nochdir,
int  noclose 
)
bool coil::dest_to_endpoint ( std::string  dest_addr,
std::string &  endpoint 
)

Getting network interface name from destination address.

This operation returns IP address of a endpoint to be used to communicate with the given destination address. IP address and FQDN hostname are available for the destination address dest_addr. If a destination address are reachable and an endpoint IP address is available, this operation returns true, and otherwise false.

Parameters:
dest_addra destination address or host name
endpointa IP address of the endpoint to be used to communicate with the destination address
Returns:
successful: true, failed: false
template<class AbstractClass , class ConcreteClass >
void coil::Destructor ( AbstractClass *&  obj)

Destructor template.

std::string coil::dirname ( char *  path) [inline]

Get a directory part than a file pass.

Get a directory part than a file pass.

Parameters:
pathFile path
Returns:
Directory name
void coil::eraseBlank ( std::string &  str)

Erase blank characters of string.

Erase blank characters that exist at the head of the given string. Space ' 'and tab '\t' are supported as the blank character.

Parameters:
strThe target blank characters of string for the erase
void coil::eraseBothEndsBlank ( std::string &  str)

Erase the head blank and the tail blank characters of string.

Erase the head blank characters and the blank characters that exist at the tail of the given string. Space ' 'and tab '\t' are supported as the blank character.

Parameters:
strThe target tail blank characters of string for the erase
void coil::eraseHeadBlank ( std::string &  str)

Erase the head blank characters of string.

Erase the blank characters that exist at the head of the given string. Space ' 'and tab '\t' are supported as the blank character.

Parameters:
strThe target head blank characters of string for the erase
void coil::eraseTailBlank ( std::string &  str)

Erase the tail blank characters of string.

Erase the blank characters that exist at the tail of the given string. Space ' 'and tab '\t' are supported as the blank character.

Parameters:
strThe target tail blank characters of string for the erase
std::string coil::escape ( const std::string  str)

Escape string.

The following characters are converted.
HT -> "\t"
LF -> "\n"
CR -> "\r"
FF -> "\f"
Single quote and double quote are not processed.

Parameters:
strThe target string for the escape
Returns:
Result string of the escape
coil::vstring coil::filelist ( const char *  path,
const char *  glob_str = "" 
) [inline]

Get file list.

Get a list matching a file designated than a directory path.

Parameters:
pathDirectory path
glob_strFile name
Returns:
File list
bool coil::find_dest_ifname ( std::string  dest_addr,
std::string &  dest_if 
)

Getting network interface name from destination address.

This operation returns network interface name to be used to communicate with the given destination address. IP address and FQDN hostname are available for the destination address dest_addr. Returned dest_if means the network interface name. If a destination address are reachable and network interface name is available, this operation returns true, and otherwise false.

Parameters:
dest_addra destination address or host name
dest_ifa network interface name to be used to communicate with the destination address
Returns:
successful: true, failed: false
std::string coil::flatten ( vstring  sv)

Create CSV file from the given string list.

Create CSV that arranged each element of the character string list given by the argument. If the string list is empty, the null will be returned.

Parameters:
svThe target string list for creating CSV
Returns:
String of CSV creating result
char* coil::getenv ( const char *  name) [inline]

Get environment variable.

Return a environment variable.

Parameters:
nameName of environment variable
Returns:
Value of environment variable(NULL: nonexistent)
int coil::getlinePortable ( std::istream &  istr,
std::string &  line 
)

Read a line from input stream.

This function reads a line from input stream. UNIX, Windows or mixed line feed code is acceptable.

Parameters:
istrThe input stream.
lineThe output variable to store string to be read.
Returns:
The length of read string except line feed character.
pid_t coil::getpid ( ) [inline]
pid_t coil::getppid ( ) [inline]

Get process ID of the parent process.

Return a process ID of the parent process.

Returns:
Process ID
int coil::gettimeofday ( struct timeval *  tv,
struct timezone *  tz 
) [inline]

Get the time and timezone.

Get the time and timezone

Parameters:
tvStructure of time
tzStructure of timezone
Returns:
0: successful, -1: failed

Referenced by gettimeofday(), and setTimestamp().

Get the time.

Get the time

Returns:
TimeValue object

References gettimeofday().

bool coil::ifname_to_ipaddr ( std::string  ifname,
std::string &  ipaddr 
)

Get IP address from a network interface name.

This operation returns IP address which is assigned with the given network interface. If IP address could be obtained from the network interface name, this operation returns true, otherwise false.

Parameters:
ifnamea network interface name
ipaddrIP address that is assigned to the network interface
Returns:
successful: true, failed: false
bool coil::includes ( const vstring &  list,
std::string  value,
bool  ignore_case = true 
)

Include if a string is included in string list.

if the second argument is included in the comma separated string list of the first argument, This operation returns "true value".

Parameters:
listThe target comma separated string
valueThe searched string
Returns:
true: included, false: not included
bool coil::includes ( const std::string &  list,
std::string  value,
bool  ignore_case = true 
)

Include if a string is included in string list.

if the second argument is included in the comma separated string list of the first argument, This operation returns "true value".

Parameters:
listThe target comma separated string
valueThe searched string
Returns:
true: included, false: not included
bool coil::isAbsolutePath ( const std::string &  str)

Investigate whether the given string is absolute path or not.

Investigate whether the given string is absolute path or not. Investigate it as an absolute path, if the string is as follows:

  • The first character '/' (UNIX)
  • The first 3 characters are alphabet +'/'+'\' (Windows)
  • The first 2 characters are '\\' (Windows network path)
Parameters:
strThe target string for the investigation
Returns:
Investigation result of absolute path
bool coil::isEscaped ( const std::string &  str,
std::string::size_type  pos 
)

Check whether the character is escaped or not.

Check whether the specified character is escaped or not

Parameters:
strThe string that includes the character to be investigated.
posThe position of the character to be investigated.
Returns:
True if the specified character is escaped, else False.
bool coil::isURL ( const std::string &  str)

Investigate whether the given string is URL or not.

Investigate whether the given string is URL or not. When the string '://' is included in the given character string, make it of URL representation.

Parameters:
strThe target string for investigation
Returns:
URL investigation result
int coil::launch_shell ( std::string  command)

Launching a process.

This function launches a process. The argument is command file name be launched. The command will be searched according to the environment variable PATH of command search path. 0 will be returned if launching process is successful, and -1 will be returned if it is failed.

Parameters:
commandfull path string to a command to be executed.
Returns:
0: successful, -1: failed
std::string coil::normalize ( std::string &  str)

Erase the head/tail blank and replace upper case to lower case.

Erase the head blank characters and the blank characters that exist at the tail of the given string. Space ' 'and tab '\t' are supported as the blank character. And all upper case cahracters are converted into lower case.

Parameters:
strThe target string for the erase

Referenced by RTC::ConnectorDataListenerT< DataType >::operator()().

template<class Printable >
std::string coil::otos ( Printable  n)

Convert the given object to std::string.

Convert the object specified by the argument to string.

Parameters:
nThe target object for conversion
Returns:
String conversion result
unsigned int coil::replaceString ( std::string &  str,
const std::string  from,
const std::string  to 
)

Replace string.

Replace the given string with the specified characters.

Parameters:
strThe target characters of string for replacement processing
fromCharacters of replacement source
toCharacters of replacement destination
int coil::settimeofday ( const struct timeval *  tv,
const struct timezone *  tz 
) [inline]

Set the time and timezone.

Set the time and timezone

Parameters:
tvStructure of time
tzStructure of timezone
Returns:
0: successful, -1: failed
unsigned int coil::sleep ( unsigned int  seconds) [inline]

Stop a processing at specified second time.

Stop a processing at specified second time.

Parameters:
secondsSecond time
Returns:
0: successful, >0: failed
int coil::sleep ( TimeValue  interval) [inline]

Stop a processing at specified second time.

Stop a processing at specified second time.

Parameters:
intervalTimeValue object
Returns:
0: successful, >0: failed

References coil::TimeValue::sec(), and coil::TimeValue::usec().

vstring coil::split ( const std::string &  input,
const std::string &  delimiter,
bool  ignore_empty = false 
)

Split string by delimiter.

Split the set string by the given delimiter

Parameters:
inputThe target characters of string for split
delimiterSplit string (delimiter)
Returns:
Split string result list

Referenced by RTC::ConnectorDataListenerT< DataType >::operator()().

std::string coil::sprintf ( char const *__restrict  fmt,
  ... 
)

Convert it into a format given with an argumen.

Convert it into a format given with an argument and return it.

Parameters:
fmtFormat
Returns:
String of conversion result
std::wstring coil::string2wstring ( std::string  str)

string to wstring conversion

This function convert from a string to a wstring.

Parameters:
strThe input std::string type string
Returns:
Converted std::wstring type string
template<typename To >
bool coil::stringTo ( To &  val,
const char *  str 
)

Convert the given std::string to object.

Convert string given by the argument to specified object.

Parameters:
valThe object of conversion destination
strString of conversion source
Returns:
true: successful, false: failed
template<>
bool coil::stringTo< std::string > ( std::string &  val,
const char *  str 
)

Convert the given string to std::string.

Convert string given by the argument to std::string.

Parameters:
valString of conversion destination
strString of conversion source
Returns:
true: successful, false: failed
char** coil::toArgv ( const vstring &  args)

Convert the given string list into the argument list.

Convert the string list into the argument list by adding '\0' to each element at the end of the string list given by the argument

Parameters:
argsThe target string list for conversion
Returns:
String of argument conversion result
bool coil::toBool ( std::string  str,
std::string  yes,
std::string  no,
bool  default_value = true 
)

Convert given string into bool value.

Compare the specified string with the true representation string and the false representation string, and return the result as bool value. If it matches neither the true representation string nor the false representation string as a result of the comparison, the given default value will be return.

Parameters:
strThe target string for investigation
yesThe true representation string
noThe false representation string
default_valueThe default value (The default value:true)
void coil::toLower ( std::string &  str)

Lowercase String Transformation.

This function transforms a given string to lowercase letters

Parameters:
strThe input string
void coil::toUpper ( std::string &  str)

Uppercase String Transformation.

This function transforms a given string to uppercase letters

Parameters:
strThe input string
int coil::uname ( utsname *  name) [inline]
std::string coil::unescape ( const std::string  str)

Unescape string.

The following characters are converted.
"\t" -> HT
"\n" -> LF
"\r" -> CR
"\f" -> FF
"\"" -> "
"\'" -> '
Note: This is not complete inversion of the escape processing.

Parameters:
strThe target string for the unescape
Returns:
Result string of the unescape
vstring coil::unique_sv ( vstring  sv)

Eliminate duplication from the given string list.

Create a list of eliminating duplication from the string list given by the argument.

Parameters:
svThe string list for confirmation source
Returns:
Eliminating duplication result list
int coil::usleep ( useconds_t  usec) [inline]

Stop a processing at specified micro second time.

Stop a processing at specified micro second time.

Parameters:
usecMicro second time
Returns:
0: successful, -1: failed
std::string coil::wstring2string ( std::wstring  wstr)

wstring to string conversion

This function convert from a wstring to a string.

Parameters:
strThe input std::wstring type string
Returns:
Converted std::string type string