#include <ariaUtil.h>
Public Types | |
| BIT0 = 0x1 | |
| value of BIT0 | |
| BIT1 = 0x2 | |
| value of BIT1 | |
| BIT10 = 0x400 | |
| value of BIT10 | |
| BIT11 = 0x800 | |
| value of BIT11 | |
| BIT12 = 0x1000 | |
| value of BIT12 | |
| BIT13 = 0x2000 | |
| value of BIT13 | |
| BIT14 = 0x4000 | |
| value of BIT14 | |
| BIT15 = 0x8000 | |
| value of BIT15 | |
| BIT2 = 0x4 | |
| value of BIT2 | |
| BIT3 = 0x8 | |
| value of BIT3 | |
| BIT4 = 0x10 | |
| value of BIT4 | |
| BIT5 = 0x20 | |
| value of BIT5 | |
| BIT6 = 0x40 | |
| value of BIT6 | |
| BIT7 = 0x80 | |
| value of BIT7 | |
| BIT8 = 0x100 | |
| value of BIT8 | |
| BIT9 = 0x200 | |
| value of BIT9 | |
| enum | BITS { BIT0 = 0x1, BIT1 = 0x2, BIT2 = 0x4, BIT3 = 0x8, BIT4 = 0x10, BIT5 = 0x20, BIT6 = 0x40, BIT7 = 0x80, BIT8 = 0x100, BIT9 = 0x200, BIT10 = 0x400, BIT11 = 0x800, BIT12 = 0x1000, BIT13 = 0x2000, BIT14 = 0x4000, BIT15 = 0x8000 } |
| Values for the bits from 0 to 16. More... | |
| enum | REGKEY { REGKEY_CLASSES_ROOT, REGKEY_CURRENT_CONFIG, REGKEY_CURRENT_USER, REGKEY_LOCAL_MACHINE, REGKEY_USERS } |
| REGKEY_CLASSES_ROOT | |
| use HKEY_CLASSES_ROOT | |
| REGKEY_CURRENT_CONFIG | |
| use HKEY_CURRENT_CONFIG | |
| REGKEY_CURRENT_USER | |
| use HKEY_CURRENT_USER | |
| REGKEY_LOCAL_MACHINE | |
| use HKEY_LOCAL_MACHIE | |
| REGKEY_USERS | |
| use HKEY_USERS | |
Static Public Member Functions | |
| static void | addDirectories (char *dest, size_t destLength, const char *baseDir, const char *insideDir) |
| Adds two directories, taking care of all slash issues. | |
| static void | appendSlash (std::string &path) |
| Appends a slash to the given string path if necessary. | |
| static void | appendSlash (char *path, size_t pathLength) |
| Appends a slash to a path if there is not one there already. | |
| static double | atof (const char *nptr) |
| Does an atof but if its inf or -inf deals with it fine. | |
| static bool | changeFileTimestamp (const char *fileName, time_t timestamp) |
| Sets the timestamp on the specified file. | |
| static const char * | convertBool (int val) |
| Converts an integer value into a string for true or false. | |
| static int | creat (const char *pathname, mode_t mode, bool closeOnExec=true) |
| Opens a file, defaulting it so that the file will close on exec. | |
| template<class T> | |
| static void | deleteSet (T begin, T end) |
| Delete all members of a set. Does NOT empty the set. | |
| template<class T> | |
| static void | deleteSetPairs (T begin, T end) |
| Delete all members of a set. Does NOT empty the set. | |
| static void | escapeSpaces (char *dest, const char *src, size_t maxLen) |
| Puts a \ before spaces in src, puts it into dest. | |
| static bool | findFile (const char *fileName) |
| OS-independent way of checking to see if a file exists and is readable. | |
| static bool | findFirstStringInRegistry (const char *key, const char *value, char *str, int len) |
| Returns a string from the Windows registry, searching each of the following registry root paths in order: REGKEY_CURRENT_USER, REGKEY_LOCAL_MACHINE. | |
| static double | findMax (double first, double second) |
| Returns the maximum of the two values. | |
| static int | findMax (int first, int second) |
| Returns the maximum of the two values. | |
| static double | findMin (double first, double second) |
| Returns the minimum of the two values. | |
| static int | findMin (int first, int second) |
| Returns the minimum of the two values. | |
| static void | fixSlashes (std::string &path) |
| Fixes the slash orientation in the given file path string for the current platform. | |
| static void | fixSlashes (char *path, size_t pathLength) |
| Fix the slash orientation in file path string for windows or linux. | |
| static void | fixSlashesBackward (char *path, size_t pathLength) |
| Fix the slash orientation in file path string to be all backward. | |
| static void | fixSlashesForward (char *path, size_t pathLength) |
| Fix the slash orientation in file path string to be all forward. | |
| static bool | floatIsNormal (double f) |
| static FILE * | fopen (const char *path, const char *mode, bool closeOnExec=true) |
| Opens a file, defaulting it so that the file will close on exec. | |
| static void | functorPrintf (ArFunctor1< const char * > *functor, char *str,...) |
| Function for doing a printf style call to a functor. | |
| static bool | getDirectory (const char *fileName, char *result, size_t resultLen) |
| Pulls the directory out of a file name. | |
| static bool | getFileName (const char *fileName, char *result, size_t resultLen) |
| Pulls the filename out of the file name. | |
| static bool | getStringFromFile (const char *fileName, char *str, size_t strLen) |
| Gets a string contained in an arbitrary file. | |
| static bool | getStringFromRegistry (REGKEY root, const char *key, const char *value, char *str, int len) |
| Returns a string from the Windows registry. | |
| static unsigned int | getTime (void) |
| Get the time in milliseconds. | |
| static bool | isOnlyAlphaNumeric (const char *str) |
| Returns true if this string is only alphanumeric, false otherwise. | |
| static bool | isStrEmpty (const char *str) |
| Returns true if the given string is null or of zero length, false otherwise. | |
| static bool | localtime (struct tm *result) |
| static bool | localtime (const time_t *timep, struct tm *result) |
| static void | lower (char *dest, const char *src, size_t maxLen) |
| Lowers a string from src into dest, make sure there's enough space. | |
| static bool | matchCase (const char *baseDir, const char *fileName, char *result, size_t resultLen) |
| this matches the case out of what file we want | |
| static int | open (const char *pathname, int flags, mode_t mode, bool closeOnExec=true) |
| Opens a file, defaulting it so that the file will close on exec. | |
| static int | open (const char *pathname, int flags, bool closeOnExec=true) |
| Opens a file, defaulting it so that the file will close on exec. | |
| static FILE * | popen (const char *command, const char *type, bool closeOnExec=true) |
| Opens a pipe, defaulting it so that the file will close on exec. | |
| static void | putCurrentDayInString (char *s, size_t len) |
| static void | putCurrentHourInString (char *s, size_t len) |
| static void | putCurrentMinuteInString (char *s, size_t len) |
| static void | putCurrentMonthInString (char *s, size_t len) |
| static void | putCurrentSecondInString (char *s, size_t len) |
| static void | putCurrentYearInString (char *s, size_t len) |
| static void | setFileCloseOnExec (FILE *file, bool closeOnExec=true) |
| Sets if the file descriptor will be closed on exec or not. | |
| static void | setFileCloseOnExec (int fd, bool closeOnExec=true) |
| Sets if the file descriptor will be closed on exec or not. | |
| static long | sizeFile (std::string fileName) |
| OS-independent way of finding the size of a file. | |
| static long | sizeFile (const char *fileName) |
| OS-independent way of finding the size of a file. | |
| static void | sleep (unsigned int ms) |
| Sleep for the given number of milliseconds. | |
| static int | strcasecmp (const char *str, const char *str2) |
| Finds out if two strings are equal (ignoring case). | |
| static int | strcasecmp (const char *str, std::string str2) |
| Finds out if two strings are equal (ignoring case). | |
| static int | strcasecmp (std::string str, const char *str2) |
| Finds out if two strings are equal (ignoring case). | |
| static int | strcasecmp (std::string str, std::string str2) |
| Finds out if two strings are equal (ignoring case). | |
| static int | strcasequotecmp (const std::string &str1, const std::string &str2) |
| Compares two strings (ignoring case and surrounding quotes). | |
| static int | strcmp (const char *str, const char *str2) |
| Finds out if two strings are equal. | |
| static int | strcmp (const char *str, std::string str2) |
| Finds out if two strings are equal. | |
| static int | strcmp (std::string str, const char *str2) |
| Finds out if two strings are equal. | |
| static int | strcmp (std::string str, std::string str2) |
| Finds out if two strings are equal. | |
| static bool | stripQuotes (char *dest, const char *src, size_t destLen) |
| Strips out the quotes in the src buffer into the dest buffer. | |
| static void | writeToFile (const char *str, FILE *file) |
| Function for doing a fprintf to a file (here to make a functor for). | |
Static Public Attributes | |
| static const char * | COM1 = "/dev/ttyS0" |
| First serial port device name (value depends on compilation platform). | |
| static const char * | COM10 = "/dev/ttyS9" |
| Tenth serial port device name (value depends on compilation platform). | |
| static const char * | COM11 = "/dev/ttyS10" |
| Eleventh serial port device name (value depends on compilation platform). | |
| static const char * | COM12 = "/dev/ttyS11" |
| Twelth serial port device name (value depends on compilation platform). | |
| static const char * | COM13 = "/dev/ttyS12" |
| Thirteenth serial port device name (value depends on compilation platform). | |
| static const char * | COM14 = "/dev/ttyS13" |
| Fourteenth serial port device name (value depends on compilation platform). | |
| static const char * | COM15 = "/dev/ttyS14" |
| Fifteenth serial port device name (value depends on compilation platform). | |
| static const char * | COM16 = "/dev/ttyS15" |
| Sixteenth serial port device name (value depends on compilation platform). | |
| static const char * | COM2 = "/dev/ttyS1" |
| Second serial port device name (value depends on compilation platform). | |
| static const char * | COM3 = "/dev/ttyS2" |
| Third serial port device name (value depends on compilation platform). | |
| static const char * | COM4 = "/dev/ttyS3" |
| Fourth serial port device name (value depends on compilation platform). | |
| static const char * | COM5 = "/dev/ttyS4" |
| Fifth serial port device name (value depends on compilation platform). | |
| static const char * | COM6 = "/dev/ttyS5" |
| Sixth serial port device name (value depends on compilation platform). | |
| static const char * | COM7 = "/dev/ttyS6" |
| Seventh serial port device name (value depends on compilation platform). | |
| static const char * | COM8 = "/dev/ttyS7" |
| Eighth serial port device name (value depends on compilation platform). | |
| static const char * | COM9 = "/dev/ttyS8" |
| Ninth serial port device name (value depends on compilation platform). | |
| static const char * | FALSESTRING = "false" |
| "false" | |
| static const char * | TRUESTRING = "true" |
| "true" | |
Static Protected Member Functions | |
| static std::list< std::string > | splitFileName (const char *fileName) |
| this splits up a file name (it isn't exported since it'd crash with dlls) | |
| enum ArUtil::BITS |
Values for the bits from 0 to 16.
| enum ArUtil::REGKEY |
| void ArUtil::addDirectories | ( | char * | dest, | |
| size_t | destLength, | |||
| const char * | baseDir, | |||
| const char * | insideDir | |||
| ) | [static] |
Adds two directories, taking care of all slash issues.
This function will take the 'baseDir' and put the 'insideDir' after it so that it winds up with 'baseDir/insideDir/'. It will take care of slashes, making sure there is one between them and one at the end, and the slashes will match what the operating system expects.
| dest | the place to put the result | |
| destLength | the length of the place to put the results | |
| baseDir | the directory to start with | |
| insideDir | the directory to place after the baseDir |
| void ArUtil::appendSlash | ( | char * | path, | |
| size_t | pathLength | |||
| ) | [static] |
Appends a slash to a path if there is not one there already.
Append a directory separator character to the given path string, depending on the platform. On Windows, a backslash ('\') is added. On other platforms, a forward slash ('/') is appended. If there is no more allocated space in the path string, no character will be appended.
| path | the path string to append a slash to | |
| pathLength | maximum length allocated for path string |
| static void ArUtil::deleteSet | ( | T | begin, | |
| T | end | |||
| ) | [inline, static] |
Delete all members of a set. Does NOT empty the set.
Assumes that T is an iterator that supports the operator*, operator!= and operator++. The return is assumed to be a pointer to a class that needs to be deleted.
| static void ArUtil::deleteSetPairs | ( | T | begin, | |
| T | end | |||
| ) | [inline, static] |
Delete all members of a set. Does NOT empty the set.
Assumes that T is an iterator that supports the operator**, operator!= and operator++. The return is assumed to be a pair. The second value of the pair is assumed to be a pointer to a class that needs to be deleted.
| void ArUtil::escapeSpaces | ( | char * | dest, | |
| const char * | src, | |||
| size_t | maxLen | |||
| ) | [static] |
Puts a \ before spaces in src, puts it into dest.
This copies src into dest but puts a \ before any spaces in src, escaping them... its mostly for use with ArArgumentBuilder... make sure you have at least maxLen spaces in the arrays that you're passing as dest... this allocates no memory
| bool ArUtil::findFile | ( | const char * | fileName | ) | [static] |
OS-independent way of checking to see if a file exists and is readable.
| fileName | name of the file to size |
| void ArUtil::fixSlashes | ( | std::string & | path | ) | [static] |
Fixes the slash orientation in the given file path string for the current platform.
| path | the path in which to fix the orientation of the slashes |
| void ArUtil::fixSlashes | ( | char * | path, | |
| size_t | pathLength | |||
| ) | [static] |
Fix the slash orientation in file path string for windows or linux.
| path | the path in which to fix the orientation of the slashes | |
| pathLength | the maximum length of path |
| void ArUtil::fixSlashesBackward | ( | char * | path, | |
| size_t | pathLength | |||
| ) | [static] |
Fix the slash orientation in file path string to be all backward.
| path | the path in which to fix the orientation of the slashes | |
| pathLength | how long that path is at max |
| void ArUtil::fixSlashesForward | ( | char * | path, | |
| size_t | pathLength | |||
| ) | [static] |
Fix the slash orientation in file path string to be all forward.
| path | the path in which to fix the orientation of the slashes | |
| pathLength | how long that path is at max |
| bool ArUtil::floatIsNormal | ( | double | f | ) | [static] |
Return true if the value of f is not NaN and is not infinite (+/- INF)
| void ArUtil::functorPrintf | ( | ArFunctor1< const char * > * | functor, | |
| char * | str, | |||
| ... | ||||
| ) | [static] |
Function for doing a printf style call to a functor.
Java and Python Wrappers: Not available in Java or Python wrapper libraries.
| bool ArUtil::getStringFromFile | ( | const char * | fileName, | |
| char * | str, | |||
| size_t | strLen | |||
| ) | [static] |
Gets a string contained in an arbitrary file.
This function reads a string from a file. The file can contain spaces or tabs, but a '\r' or '\n' will be treated as the end of the string, and the string cannot have more characters than the value given by strLen. This is mostly for internal use with Linux to determine the Aria directory from a file in /etc, but will work with Linux or Windows.
| fileName | name of the file in which to look | |
| str | the string to copy the file contents into | |
| strLen | the maximum allocated length of str |
| bool ArUtil::getStringFromRegistry | ( | REGKEY | root, | |
| const char * | key, | |||
| const char * | value, | |||
| char * | str, | |||
| int | len | |||
| ) | [static] |
Returns a string from the Windows registry.
Look up the given value under the given key, within the given registry root key.
| root | the root key to use, one of the REGKEY enum values | |
| key | the name of the key to find | |
| value | the value name in which to find the string | |
| str | where to put the string found, or if it could not be found, an empty (length() == 0) string | |
| len | the length of the allocated memory in str |
| unsigned int ArUtil::getTime | ( | void | ) | [static] |
Get the time in milliseconds.
Get the time in milliseconds, counting from some arbitrary point. This time is only valid within this run of the program.
| bool ArUtil::localtime | ( | struct tm * | result | ) | [static] |
Call ArUtil::localtime(const time_t*, struct tm *) with the current time obtained by calling time(NULL).
| bool ArUtil::localtime | ( | const time_t * | timep, | |
| struct tm * | result | |||
| ) | [static] |
Interface to native platform localtime() function. On Linux, this is equivalent to a call to localtime_r(timep, result) (which is threadsafe, including the returned pointer, since it uses a different time struct for each thread) On Windows, this is equivalent to a call to localtime(timep, result). In addition, a static mutex is used to make it threadsafe.
| timep | Pointer to current time (Unix time_t; seconds since epoch) | |
| result | The result of calling platform localtime function is copied into this struct, so it must have been allocated. |
struct tm t; ArUtil::localtime(time(NULL), &t); ArLog::log("Current month is %d.\n", t.tm_mon);
| void ArUtil::lower | ( | char * | dest, | |
| const char * | src, | |||
| size_t | maxLen | |||
| ) | [static] |
Lowers a string from src into dest, make sure there's enough space.
This copies src into dest but makes it lower case make sure you have at least maxLen arrays that you're passing as dest... this allocates no memory
| bool ArUtil::matchCase | ( | const char * | baseDir, | |
| const char * | fileName, | |||
| char * | result, | |||
| size_t | resultLen | |||
| ) | [static] |
this matches the case out of what file we want
| baseDir | the base directory to work from | |
| fileName | the fileName to squash the case from | |
| result | where to put the result | |
| resultLen | length of the result |
| void ArUtil::putCurrentDayInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current day (GMT) of the month in s (e.g. "20").
| s | String buffer (allocated) to write day into | |
| len | Size of s |
| void ArUtil::putCurrentHourInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current hour (GMT) in s (e.g. "13" for 1 o'clock PM).
| s | String buffer (allocated) to write hour into | |
| len | Size of s |
| void ArUtil::putCurrentMinuteInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current minute (GMT) in s (e.g. "05").
| s | String buffer (allocated) to write minutes into | |
| len | Size of s |
| void ArUtil::putCurrentMonthInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current month (GMT) in s (e.g. "09" if September).
| s | String buffer (allocated) to write month into | |
| len | Size of s |
| void ArUtil::putCurrentSecondInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current second (GMT) in s (e.g. "59").
| s | String buffer (allocated) to write seconds into | |
| len | Size of s |
| void ArUtil::putCurrentYearInString | ( | char * | s, | |
| size_t | len | |||
| ) | [static] |
Put the current year (GMT) in s (e.g. "2005").
| s | String buffer (allocated) to write year into | |
| len | Size of s |
| long ArUtil::sizeFile | ( | const char * | fileName | ) | [static] |
OS-independent way of finding the size of a file.
| fileName | name of the file to size |
| void ArUtil::sleep | ( | unsigned int | ms | ) | [static] |
Sleep for the given number of milliseconds.
This sleeps for the given number of milliseconds... Note in linux it tries to sleep for 10 ms less than the amount given, which should wind up close to correct... Linux is broken in this regard and sleeps for too long... it sleeps for the ceiling of the current 10 ms range, then for an additional 10 ms... so: 11 to 20 ms sleeps for 30 ms... 21 to 30 ms sleeps for 40 ms... 31 to 40 ms sleeps for 50 ms... this continues on up to the values we care about of.. 81 to 90 ms sleeps for 100 ms... 91 to 100 ms sleeps for 110 ms... so we'll sleep for 10 ms less than we want to, which should put us about right... guh
| ms | the number of milliseconds to sleep for |
| std::list< std::string > ArUtil::splitFileName | ( | const char * | fileName | ) | [static, protected] |
this splits up a file name (it isn't exported since it'd crash with dlls)
This function assumes the slashes are all heading the right way already.
| int ArUtil::strcasecmp | ( | const char * | str, | |
| const char * | str2 | |||
| ) | [static] |
Finds out if two strings are equal (ignoring case).
This compares two strings ignoring case, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcasecmp | ( | const char * | str, | |
| std::string | str2 | |||
| ) | [static] |
Finds out if two strings are equal (ignoring case).
This compares two strings ignoring case, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcasecmp | ( | std::string | str, | |
| const char * | str2 | |||
| ) | [static] |
Finds out if two strings are equal (ignoring case).
This compares two strings ignoring case, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcasecmp | ( | std::string | str, | |
| std::string | str2 | |||
| ) | [static] |
Finds out if two strings are equal (ignoring case).
This compares two strings ignoring case, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcasequotecmp | ( | const std::string & | str1, | |
| const std::string & | str2 | |||
| ) | [static] |
Compares two strings (ignoring case and surrounding quotes).
This helper method is primarily used to ignore surrounding quotes when comparing ArArgumentBuilder args.
| int ArUtil::strcmp | ( | const char * | str, | |
| const char * | str2 | |||
| ) | [static] |
Finds out if two strings are equal.
This compares two strings, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcmp | ( | const char * | str, | |
| std::string | str2 | |||
| ) | [static] |
Finds out if two strings are equal.
This compares two strings, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcmp | ( | std::string | str, | |
| const char * | str2 | |||
| ) | [static] |
Finds out if two strings are equal.
This compares two strings, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
| int ArUtil::strcmp | ( | std::string | str, | |
| std::string | str2 | |||
| ) | [static] |
Finds out if two strings are equal.
This compares two strings, it returns an integer less than, equal to, or greater than zero if str is found, respectively, to be less than, to match, or be greater than str2.
| str | the string to compare | |
| str2 | the second string to compare |
1.4.7