#include <ARGV.h>
Collaboration diagram for ACE_ARGV:
Public Types | |
enum | States { TO_STRING = 1, TO_PTR_ARRAY = 2, ITERATIVE = 3 } |
Public Methods | |
ACE_ARGV (const ACE_TCHAR buf[], int substitute_env_args = 1) | |
ACE_ARGV (ACE_TCHAR *argv[], int substitute_env_args = 1) | |
ACE_ARGV (ACE_TCHAR *first_argv[], ACE_TCHAR *second_argv[], int substitute_env_args =1) | |
ACE_ARGV (int substitute_env_args = 1) | |
~ACE_ARGV (void) | |
Destructor. | |
const ACE_TCHAR* | operator[] (size_t index) |
Returns the <index>th string in the ARGV array. | |
ACE_TCHAR** | argv (void) |
size_t | argc (void) const |
Returns . | |
const ACE_TCHAR* | buf (void) |
Returns the <buf>. Caller should not delete this memory since the destructor will delete it. | |
void | dump (void) const |
Dump the state of an object. | |
int | add (const ACE_TCHAR *next_arg) |
Add another argument. This only works in the <ITERATIVE> state. Note that this method does not copy <next_arg>, but instead assumes ownership of it. Returns -1 on failure and 0 on success. | |
int | add (ACE_TCHAR *argv[]) |
int | state (void) const |
What state is this ACE_ARGV in? | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Methods | |
int | create_buf_from_queue (void) |
Creates buf_ from the queue, deletes previous buf_. | |
int | string_to_argv (void) |
Converts buf_ into the ACE_TCHAR *argv[] format. | |
int | argv_to_string (ACE_TCHAR **argv, ACE_TCHAR *&buf) |
Returns the string created from argv in buf and returns the number of arguments. | |
Private Attributes | |
int | substitute_env_args_ |
Replace args with environment variable values? | |
int | state_ |
Current state marker. | |
size_t | argc_ |
Number of arguments in the ARGV array. | |
ACE_TCHAR** | argv_ |
The array of string arguments. | |
ACE_TCHAR* | buf_ |
Buffer containing the contents. | |
size_t | length_ |
Total length of the arguments in the queue, not counting separating spaces. | |
ACE_Unbounded_Queue<ACE_TCHAR *> | queue_ |
Queue which keeps user supplied arguments. This is only active in the "iterative" mode. |
|
|
|
Converts <buf> into an -style vector of strings. If <substitute_env_args> is enabled then we'll substitute the environment variables for each $ENV encountered in the string. The subscript and operations are not allowed on an ACE_ARGV created this way. |
|
Converts into a linear string. If <substitute_env_args> is enabled then we'll substitute the environment variables for each $ENV encountered in the string. The <buf> operation is not allowed on an ACE_ARGV created this way. |
|
Creates an ACE_ARGV which is the concatenation of the first_argv and the second argv. The argv arguments should be null pointer terminated. |
|
Entry point for creating an ACE_TCHAR *[] command line iteratively via the method. When this constructor is used, the <ITERATIVE> state is enabled. The and <buf> methods are allowed, and the result is recreated when called multiple times. The subscript operator is not allowed. |
|
Destructor.
|
|
Add another array. The parameter must be NULL terminated. This only works in the <ITERATIVE> state. Returns -1 on failure and 0 on success. |
|
Add another argument. This only works in the <ITERATIVE> state. Note that this method does not copy <next_arg>, but instead assumes ownership of it. Returns -1 on failure and 0 on success.
|
|
Returns .
|
|
Returns the array. Caller should not delete this memory since the destructor will delete it. If the caller modifies the array in the iterative mode, the changes are not saved to the queue. |
|
Returns the string created from argv in buf and returns the number of arguments.
|
|
Returns the <buf>. Caller should not delete this memory since the destructor will delete it.
|
|
Creates buf_ from the queue, deletes previous buf_.
|
|
Dump the state of an object.
|
|
Returns the <index>th string in the ARGV array.
|
|
What state is this ACE_ARGV in?
|
|
Converts buf_ into the ACE_TCHAR *argv[] format.
|
|
Declare the dynamic allocation hooks.
|
|
Number of arguments in the ARGV array.
|
|
The array of string arguments.
|
|
Buffer containing the contents.
|
|
Total length of the arguments in the queue, not counting separating spaces.
|
|
Queue which keeps user supplied arguments. This is only active in the "iterative" mode.
|
|
Current state marker.
|
|
Replace args with environment variable values?
|