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...
class  UUID
class  UUID_Generator

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:
name Name of structure
Returns:
0: Successful, -1: failed
typedef std::vector<std::string> coil::vstring

Function Documentation

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:
obj The target object for the asynchronous function.
func Asynchronous function.
auto_delete flag for automatic instance destruction.
Returns:
Async_ref_t Instance
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:
obj The target object for the asynchronous function.
func Asynchronous function.
auto_delete flag for automatic instance destruction.
Returns:
Async_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:
path File 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:
str Data stream
len Data length
Returns:
Result calculation
template<class AbstractClass , class ConcreteClass >
AbstractClass* coil::Creator (  )  [inline]

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_addr a destination address or host name
endpoint a 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  )  [inline]

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:
path File 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:
str The 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:
str The 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:
str The 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:
str The 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:
str The 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:
path Directory path
glob_str File 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_addr a destination address or host name
dest_if a 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:
sv The 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:
name Name 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:
istr The input stream.
line The 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
TimeValue coil::gettimeofday (  )  [inline]

Get the time.

Get the time

Returns:
TimeValue object

References gettimeofday().

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

Get the time and timezone.

Get the time and timezone

Parameters:
tv Structure of time
tz Structure of timezone
Returns:
0: successful, -1: failed

Referenced by gettimeofday(), and setTimestamp().

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:
ifname a network interface name
ipaddr IP address that is assigned to the network interface
Returns:
successful: true, failed: false
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:
list The target comma separated string
value The searched string
Returns:
true: included, false: not included
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:
list The target comma separated string
value The 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:
str The 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:
str The string that includes the character to be investigated.
pos The 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:
str The 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:
command full 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:
str The target string for the erase

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

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

Convert the given object to std::string.

Convert the object specified by the argument to string.

Parameters:
n The 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:
str The target characters of string for replacement processing
from Characters of replacement source
to Characters 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:
tv Structure of time
tz Structure of timezone
Returns:
0: successful, -1: failed
int coil::sleep ( TimeValue  interval  )  [inline]

Stop a processing at specified second time.

Stop a processing at specified second time.

Parameters:
interval TimeValue object
Returns:
0: successful, >0: failed

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

unsigned int coil::sleep ( unsigned int  seconds  )  [inline]

Stop a processing at specified second time.

Stop a processing at specified second time.

Parameters:
seconds Second time
Returns:
0: successful, >0: failed
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:
input The target characters of string for split
delimiter Split 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:
fmt Format
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:
str The input std::string type string
Returns:
Converted std::wstring type string
template<typename To >
bool coil::stringTo ( To &  val,
const char *  str 
) [inline]

Convert the given std::string to object.

Convert string given by the argument to specified object.

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

Convert the given string to std::string.

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

Parameters:
val String of conversion destination
str String 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:
args The 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:
str The target string for investigation
yes The true representation string
no The false representation string
default_value The 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:
str The input string
void coil::toUpper ( std::string &  str  ) 

Uppercase String Transformation.

This function transforms a given string to uppercase letters

Parameters:
str The 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:
str The 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:
sv The 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:
usec Micro 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:
str The input std::wstring type string
Returns:
Converted std::string type string
Generated on Thu May 24 23:25:21 2012 for OpenRTM by  doxygen 1.6.3