NCBI C++ ToolKit
Classes | Typedefs | Enumerations
netservice_protocol_parser.hpp File Reference
#include <connect/connect_export.h>
#include <corelib/ncbiexpt.hpp>
#include <corelib/tempstr.hpp>
#include <map>
+ Include dependency graph for netservice_protocol_parser.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

struct  SNSProtoArgument
 
struct  SNSProtoCmdDef< Extra >
 
struct  SNSProtoParsedCmd< Extra >
 
class  CNSProtoParserException
 
class  CNetServProtoParserBase
 
class  CNetServProtoParser< Extra >
 

Typedefs

typedef unsigned int TNSProtoArgFlags
 
typedef map< CTempString, CTempStringTNSProtoParams
 

Enumerations

enum  ENSProtoArgFlags {
  fNSPA_Required = 1 << 0 , fNSPA_Optional = 1 << 1 , fNSPA_Chain = 1 << 2 , fNSPA_Or = 1 << 3 ,
  fNSPA_Match = 1 << 4 , fNSPA_Clear = 1 << 5 , fNSPA_ICPrefix = 1 << 6 , fNSPA_Obsolete = 1 << 7 ,
  fNSPA_Ellipsis = 1 << 8 , eNSPA_None = 0 , eNSPA_Required = fNSPA_Required , eNSPA_Optional = fNSPA_Optional ,
  eNSPA_ICPrefix = fNSPA_Required | fNSPA_ICPrefix , eNSPA_Optchain = fNSPA_Optional | fNSPA_Chain , eNSPA_ClearOnly = fNSPA_Optional | fNSPA_Clear , eNSPA_Obsolete = fNSPA_Optional | fNSPA_Obsolete ,
  eNSPA_Ellipsis = fNSPA_Optional | fNSPA_Ellipsis
}
 
enum  ENSProtoArgType { eNSPT_Int = 1 , eNSPT_Str , eNSPT_Id , eNSPT_NCID }
 
enum  { kNSProtoMaxArgs = 30 }
 
enum  ENSProtoTokenType {
  eNSTT_None = -1 , eNSTT_Int = 1 , eNSTT_Str , eNSTT_Id ,
  eNSTT_NCID , eNSTT_Key , eNSTT_ICPrefix
}
 

Typedef Documentation

◆ TNSProtoArgFlags

typedef unsigned int TNSProtoArgFlags

Definition at line 76 of file netservice_protocol_parser.hpp.

◆ TNSProtoParams

Definition at line 103 of file netservice_protocol_parser.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kNSProtoMaxArgs 

Definition at line 92 of file netservice_protocol_parser.hpp.

◆ ENSProtoArgFlags

Enumerator
fNSPA_Required 

Argument must be present.

fNSPA_Optional 

The argument may be omitted.

fNSPA_Chain 

If the argument is absent, whole chain is ignored.

fNSPA_Or 

This argument is ORed to next a|b as opposed to default sequence a b.

fNSPA_Match 

This argument is exact match with "key" field and uses "dflt" field as value as opposed to default using the arg as value.

fNSPA_Clear 

Do not match this arg, just set to default.

fNSPA_ICPrefix 

Special value for IC prefix that precedes command itself.

fNSPA_Obsolete 

Argument is now obsolete and using it causes parser error.

fNSPA_Ellipsis 

Just parse the rest as key=value, do not check anything, put these pairs in map.

Should be the last in the arg list.

eNSPA_None 

end of arg list, intentionally set to 0

eNSPA_Required 
eNSPA_Optional 
eNSPA_ICPrefix 
eNSPA_Optchain 
eNSPA_ClearOnly 
eNSPA_Obsolete 
eNSPA_Ellipsis 

Definition at line 47 of file netservice_protocol_parser.hpp.

◆ ENSProtoArgType

Enumerator
eNSPT_Int 
eNSPT_Str 
eNSPT_Id 
eNSPT_NCID 

Definition at line 78 of file netservice_protocol_parser.hpp.

◆ ENSProtoTokenType

Enumerator
eNSTT_None 
eNSTT_Int 
eNSTT_Str 
eNSTT_Id 
eNSTT_NCID 
eNSTT_Key 
eNSTT_ICPrefix 

Definition at line 113 of file netservice_protocol_parser.hpp.

Modified on Sat Apr 13 11:45:07 2024 by modify_doxy.py rev. 669887