78 }
else if (
GetData().IsArray() &&
141 for ( ; iter; ++iter) {
142 if ( !iter->IsEmpty() ) {
214 ITERATE (list<int>, iter, int_list) {
216 value->SetInteger(*iter);
226 "Attempt to cast array argument to single object");
261 ITERATE (list<double>, iter, double_list) {
263 value->SetDouble(*iter);
273 "Attempt to cast array argument to single object");
301 ITERATE (list<bool>, iter, bool_list) {
303 value->SetBoolean(*iter);
313 "Attempt to cast array argument to single object");
341 ITERATE (list<string>, iter, string_list) {
343 value->SetString(*iter);
353 "Attempt to cast array argument to single object");
381 ITERATE (list<string>, iter, string_list) {
383 value->SetSecret_string(*iter);
393 "Attempt to cast array argument to single object");
421 ITERATE (list<string>, iter, file_list) {
423 value->SetInput_file(*iter);
433 "Attempt to cast array argument to single object");
457 ITERATE (list<string>, iter, file_list) {
459 value->SetOutput_file(*iter);
469 "Attempt to cast array argument to single object");
500 value->SetProject((*iter)->AsProject());
510 "Attempt to cast array argument to single object");
556 "Attempt to cast array argument to single object");
592 "Attempt to cast single argument to array");
597 arg.push_back(*iter);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
const string & AsOutputFile(void) const
void ClearObjects()
clear any objects from object-based arguments
bool IsEmpty(void) const
determine if this argument is empty (i.e., has all type information but no values)
EType
enumerated list of types we support
const CObject & AsObject(void) const
list< CConstRef< CPluginValue > > TValues
typedefs for collections of argument types CPluginValue supports type-specific data retrieval of sing...
void SetInputFile(void)
set this argument as an input file
const string & AsSecretString(void) const
const string & AsString(void) const
void AsList(TValues &values) const
void SetList(void)
insure that this argument can accept a list of its current type
EType GetType(void) const
access the type for this argument
const string & GetObjectSubtype(void) const
accessor for the object-specific type info in the event the data type is list, the type info for the ...
void SetBoolean(void)
set this argument as an integer
void SetDouble(void)
set this argument as a double
const string & AsInputFile(void) const
void SetProject(void)
set this argument as a CGBProjectHandle
void SetString(void)
set this argument as a string
const CObject * GetObject(void) const
void SetInteger(void)
set this argument as an integer
void SetOutputFile(void)
set this argument as an output file
void SetSecretString(void)
set this argument as a secret string
bool AsBoolean(void) const
const CGBProjectHandle * GetProject(void) const
accessors for specific sub-components in the event that the data type is list, NULL is returned
void SetObject(const string &type)
set this argument as a CObject.
double AsDouble(void) const
int AsInteger(void) const
~CPluginArg(void)
destructor
const CGBProjectHandle & AsProject(void) const
int AsInteger(void) const
void SetProject(void)
setters for object arguments
double AsDouble(void) const
const string & AsString(void) const
const CObject & AsObject(void) const
bool AsBoolean(void) const
const CGBProjectHandle & AsProject(void) const
const string & AsOutputFile(void) const
const CObject * GetObject(void) const
Special accessor for the stored object.
const string & AsInputFile(void) const
const string & SetInteger()
type-specific setters
const string & SetBoolean()
const CGBProjectHandle * GetProject(void) const
Special accessor for the implied or actual document.
const string & SetDouble()
void SetObject(const CObject &obj, const CGBProjectHandle *doc=NULL, const CDataHandle *dh=NULL)
const string & AsSecretString(void) const
const string & GetObjectSubtype(void) const
Special accessor for any named object subtype.
Template class for iteration on objects of class C (non-medifiable version)
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
TOutput_file & SetOutput_file(void)
Select the variant.
const TArray & GetArray(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
TSecret_string & SetSecret_string(void)
Select the variant.
void ResetData(void)
Reset Data data member.
TData & SetData(void)
Assign a value to Data data member.
TString & SetString(void)
Select the variant.
TArray & SetArray(void)
Select the variant.
TInput_file & SetInput_file(void)
Select the variant.
void Reset(void)
Reset the whole object.
TSingle & SetSingle(void)
Select the variant.
const TSingle & GetSingle(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
list< CRef< CPluginValue > > TArray
@ e_not_set
No variant selected.
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value