00001 00002 // File: gnStringQualifier.h 00003 // Purpose: abstract Qualifier class 00004 // Description: Provides an interface for Qualifiers in memory and on disk. 00005 // Changes: 00006 // Version: libGenome 0.5.1 00007 // Author: Aaron Darling 00008 // Modified by: 00009 // Copyright: (c) Aaron Darling 00010 // Licenses: See COPYING file for details 00012 #ifndef _gnStringQualifier_h_ 00013 #define _gnStringQualifier_h_ 00014 00015 #include "gn/gnDefs.h" 00016 00017 #include <string> 00018 #include "gn/gnClone.h" 00019 #include "gn/gnBaseQualifier.h" 00020 00025 class GNDLLEXPORT gnStringQualifier : public gnBaseQualifier 00026 { 00027 public: 00031 gnStringQualifier(); 00037 gnStringQualifier(const string& name, const string& value); 00042 gnStringQualifier(const gnStringQualifier& s); 00046 ~gnStringQualifier(){} 00047 00048 gnStringQualifier* Clone() const; 00049 00050 string GetName() const; 00051 string GetValue() const; 00056 void SetName(const string& name); 00061 void SetValue(const string& value); 00062 00063 uint32 GetNameLength() const; 00064 uint32 GetValueLength() const; 00065 private: 00066 string m_name; 00067 string m_value; 00068 }; //class gnStringQualifier 00069 00070 inline 00071 gnStringQualifier::gnStringQualifier(){ 00072 m_name = ""; 00073 m_value = ""; 00074 } 00075 inline 00076 gnStringQualifier::gnStringQualifier(const string& name, const string& value){ 00077 m_name = name; 00078 m_value = value; 00079 } 00080 inline 00081 gnStringQualifier::gnStringQualifier(const gnStringQualifier& s){ 00082 m_name = string(s.m_name); 00083 m_value = string(s.m_value); 00084 } 00085 inline 00086 gnStringQualifier* gnStringQualifier::Clone() const{ 00087 return new gnStringQualifier(*this); 00088 } 00089 inline 00090 string gnStringQualifier::GetName() const{ 00091 return m_name; 00092 } 00093 inline 00094 string gnStringQualifier::GetValue() const{ 00095 return m_value; 00096 } 00097 inline 00098 void gnStringQualifier::SetName(const string& name){ 00099 m_name = name; 00100 } 00101 inline 00102 void gnStringQualifier::SetValue(const string& value){ 00103 m_value = value; 00104 } 00105 inline 00106 uint32 gnStringQualifier::GetNameLength() const{ 00107 return m_name.length(); 00108 } 00109 inline 00110 uint32 gnStringQualifier::GetValueLength() const{ 00111 return m_value.length(); 00112 } 00113 00114 00115 #endif 00116 // _gnStringQualifier_h_