⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cxx

📁 radius协议源码÷The Radius Stack will connect to a Radius Server. This stack implementation is built upo
💻 CXX
📖 第 1 页 / 共 5 页
字号:
      fields[i].GenerateCplusplusConstraints("    choice->", hdr, cxx);      cxx << "      return TRUE;\n";    }  }  if (outputEnum)    cxx << "  }\n"           "\n";  for (i = 0; i < fields.GetSize(); i++) {    if (fields[i].GetTag().mode != Tag::Automatic && fields[i].IsChoice())      cxx << "  choice = new " << fields[i].GetTypeName() << "(tag, tagClass);\n"             "  if (((PASN_Choice*)choice)->CreateObject())\n"             "    return TRUE;\n"             "  delete choice;\n"             "\n";  }  cxx << "  choice = NULL;\n"         "  return FALSE;\n";  EndGenerateCplusplus(hdr, cxx);}void ChoiceType::GenerateForwardDecls(ostream & hdr){  // Output forward declarations for choice pointers, but not standard classes  BOOL needExtraLine = FALSE;  PStringSet typesOutput(PARRAYSIZE(StandardClasses), StandardClasses);  typesOutput += GetIdentifier();  for (PINDEX i = 0; i < fields.GetSize(); i++) {    PString type = fields[i].GetTypeName();    if (!fields[i].IsParameterizedType() && !typesOutput.Contains(type)) {      hdr << "class " << type << ";\n";      needExtraLine = TRUE;    }  }  if (needExtraLine)    hdr << '\n';}BOOL ChoiceType::IsPrimitiveType() const{  return FALSE;}BOOL ChoiceType::IsChoice() const{  return TRUE;}const char * ChoiceType::GetAncestorClass() const{  return "PASN_Choice";}BOOL ChoiceType::ReferencesType(const TypeBase & type){  for (PINDEX i = 0; i < fields.GetSize(); i++) {    if (fields[i].ReferencesType(type) && fields[i].IsParameterizedType())      return TRUE;  }  return FALSE;}/////////////////////////////////////////////////////////EmbeddedPDVType::EmbeddedPDVType()  : TypeBase(Tag::UniversalEmbeddedPDV){}const char * EmbeddedPDVType::GetAncestorClass() const{  return "PASN_OctetString";}/////////////////////////////////////////////////////////ExternalType::ExternalType()  : TypeBase(Tag::UniversalExternalType){}const char * ExternalType::GetAncestorClass() const{  return "PASN_OctetString";}/////////////////////////////////////////////////////////AnyType::AnyType(PString * ident)  : TypeBase(Tag::UniversalExternalType){  if (ident != NULL) {    identifier = *ident;    delete ident;  }}void AnyType::PrintOn(ostream & strm) const{  PrintStart(strm);  if (!identifier)    strm << "Defined by " << identifier;  PrintFinish(strm);}const char * AnyType::GetAncestorClass() const{  return "PASN_OctetString";}/////////////////////////////////////////////////////////StringTypeBase::StringTypeBase(int tag)  : TypeBase(tag){}int StringTypeBase::GetBraceTokenContext() const{  return STRING_BRACE;}void StringTypeBase::GenerateOperators(ostream & hdr, ostream & cxx, const TypeBase & actualType){  hdr << "    " << actualType.GetIdentifier() << " & operator=(const char * v)";  if (Module->UsingInlines())    hdr << " { SetValue(v);  return *this; }\n";  else {    hdr << ";\n";    cxx << actualType.GetTemplatePrefix()        << actualType.GetIdentifier() << " & "        << actualType.GetClassNameString() << "::operator=(const char * v)\n"           "{\n"           "  SetValue(v);\n"           "  return *this;\n"           "}\n"           "\n"           "\n";  }  hdr << "    " << actualType.GetIdentifier() << " & operator=(const PString & v)";  if (Module->UsingInlines())    hdr << " { SetValue(v);  return *this; }\n";  else {    hdr << ";\n";    cxx << actualType.GetTemplatePrefix()        << actualType.GetIdentifier() << " & "        << actualType.GetClassNameString() << "::operator=(const PString & v)\n"           "{\n"           "  SetValue(v);\n"           "  return *this;\n"           "}\n"           "\n"           "\n";  }}/////////////////////////////////////////////////////////BMPStringType::BMPStringType()  : StringTypeBase(Tag::UniversalBMPString){}const char * BMPStringType::GetAncestorClass() const{  return "PASN_BMPString";}/////////////////////////////////////////////////////////GeneralStringType::GeneralStringType()  : StringTypeBase(Tag::UniversalGeneralString){}const char * GeneralStringType::GetAncestorClass() const{  return "PASN_GeneralString";}/////////////////////////////////////////////////////////GraphicStringType::GraphicStringType()  : StringTypeBase(Tag::UniversalGraphicString){}const char * GraphicStringType::GetAncestorClass() const{  return "PASN_GraphicString";}/////////////////////////////////////////////////////////IA5StringType::IA5StringType()  : StringTypeBase(Tag::UniversalIA5String){}const char * IA5StringType::GetAncestorClass() const{  return "PASN_IA5String";}/////////////////////////////////////////////////////////ISO646StringType::ISO646StringType()  : StringTypeBase(Tag::UniversalVisibleString){}const char * ISO646StringType::GetAncestorClass() const{  return "PASN_ISO646String";}/////////////////////////////////////////////////////////NumericStringType::NumericStringType()  : StringTypeBase(Tag::UniversalNumericString){}const char * NumericStringType::GetAncestorClass() const{  return "PASN_NumericString";}/////////////////////////////////////////////////////////PrintableStringType::PrintableStringType()  : StringTypeBase(Tag::UniversalPrintableString){}const char * PrintableStringType::GetAncestorClass() const{  return "PASN_PrintableString";}/////////////////////////////////////////////////////////TeletexStringType::TeletexStringType()  : StringTypeBase(Tag::UniversalTeletexString){}const char * TeletexStringType::GetAncestorClass() const{  return "PASN_TeletexString";}/////////////////////////////////////////////////////////T61StringType::T61StringType()  : StringTypeBase(Tag::UniversalTeletexString){}const char * T61StringType::GetAncestorClass() const{  return "PASN_T61String";}/////////////////////////////////////////////////////////UniversalStringType::UniversalStringType()  : StringTypeBase(Tag::UniversalUniversalString){}const char * UniversalStringType::GetAncestorClass() const{  return "PASN_UniversalString";}/////////////////////////////////////////////////////////VideotexStringType::VideotexStringType()  : StringTypeBase(Tag::UniversalVideotexString){}const char * VideotexStringType::GetAncestorClass() const{  return "PASN_VideotexString";}/////////////////////////////////////////////////////////VisibleStringType::VisibleStringType()  : StringTypeBase(Tag::UniversalVisibleString){}const char * VisibleStringType::GetAncestorClass() const{  return "PASN_VisibleString";}/////////////////////////////////////////////////////////UnrestrictedCharacterStringType::UnrestrictedCharacterStringType()  : StringTypeBase(Tag::UniversalUniversalString){}const char * UnrestrictedCharacterStringType::GetAncestorClass() const{  return "PASN_UnrestrictedString";}/////////////////////////////////////////////////////////GeneralizedTimeType::GeneralizedTimeType()  : TypeBase(Tag::UniversalGeneralisedTime){}const char * GeneralizedTimeType::GetAncestorClass() const{  return "PASN_GeneralizedTime";}/////////////////////////////////////////////////////////UTCTimeType::UTCTimeType()  : TypeBase(Tag::UniversalUTCTime){}const char * UTCTimeType::GetAncestorClass() const{  return "PASN_UTCTime";}/////////////////////////////////////////////////////////ObjectDescriptorType::ObjectDescriptorType()  : TypeBase(Tag::UniversalObjectDescriptor){}const char * ObjectDescriptorType::GetAncestorClass() const{  return "PASN_ObectDescriptor";}/////////////////////////////////////////////////////////ObjectIdentifierType::ObjectIdentifierType()  : TypeBase(Tag::UniversalObjectId){}int ObjectIdentifierType::GetIdentifierTokenContext() const{  return OID_IDENTIFIER;}int ObjectIdentifierType::GetBraceTokenContext() const{  return OID_BRACE;}const char * ObjectIdentifierType::GetAncestorClass() const{  return "PASN_ObjectId";}/////////////////////////////////////////////////////////ObjectClassFieldType::ObjectClassFieldType(PString * objclass, PString * field)  : TypeBase(Tag::IllegalUniversalTag),    asnObjectClassName(*objclass),    asnObjectClassField(*field){  delete objclass;  delete field;}const char * ObjectClassFieldType::GetAncestorClass() const{  return "";}void ObjectClassFieldType::PrintOn(ostream & strm) const{  PrintStart(strm);  strm << asnObjectClassName << '.' << asnObjectClassField;  PrintFinish(strm);}void ObjectClassFieldType::GenerateCplusplus(ostream & hdr, ostream & cxx){  hdr << "//\n"         "// " << GetName() << "\n"         "//\n"         "\n"         "typedef ";  GenerateCplusplusConstraints(PString(), hdr, cxx);  hdr << ' ' << GetIdentifier() << ";\n"         "\n"         "\n";}BOOL ObjectClassFieldType::CanReferenceType() const{  return TRUE;}BOOL ObjectClassFieldType::ReferencesType(const TypeBase & type){  for (PINDEX i = 0; i < constraints.GetSize(); i++) {    if (constraints[i].ReferencesType(type))      return TRUE;  }  return FALSE;}/////////////////////////////////////////////////////////ImportedType::ImportedType(PString * theName, BOOL param)  : TypeBase(Tag::IllegalUniversalTag){  identifier = name = *theName;  delete theName;  parameterised = param;}const char * ImportedType::GetAncestorClass() const{  return identifier;}void ImportedType::AdjustIdentifier(){  identifier = modulePrefix + '_' + MakeIdentifierC(name);}void ImportedType::GenerateCplusplus(ostream &, ostream &){}void ImportedType::SetImportPrefix(const PString & prefix){  modulePrefix = prefix;}BOOL ImportedType::IsParameterisedImport() const{  return parameterised;}/////////////////////////////////////////////////////////SearchType::SearchType(const PString & theName)  : TypeBase(Tag::IllegalUniversalTag){  identifier = name = theName;}const char * SearchType::GetAncestorClass() const{  return identifier;}/////////////////////////////////////////////////////////void ValueBase::SetValueName(PString * name){  valueName = *name;  delete name;}void ValueBase::PrintBase(ostream & strm) const{  if (!valueName)    strm << '\n' << indent() << valueName << '=';}void ValueBase::GenerateCplusplus(ostream &, ostream &){  PError << StdError(Warning) << "unsupported value type." << endl;}/////////////////////////////////////////////////////////DefinedValue::DefinedValue(PString * name)  : referenceName(*name){  delete name;  actualValue = NULL;  unresolved = TRUE;}void DefinedValue::PrintOn(ostream & strm) const{  PrintBase(strm);  strm << referenceName;}void DefinedValue::GenerateCplusplus(ostream & hdr, ostream & cxx){  if (unresolved) {    unresolved = FALSE;    const ValuesList & values = Module->GetValues();    for (PINDEX i = 0; i < values.GetSize(); i++) {      if (v

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -