00001 #ifndef BILINGUAL_KEY_H 00002 #define BILINGUAL_KEY_H 00003 00004 #include <qdatastream.h> 00005 #include <qstring.h> 00006 00007 class BilingualKey { 00008 00009 public: 00010 00011 BilingualKey(); 00012 BilingualKey( const QString& stringKey ); 00013 BilingualKey( const QString& firstLanguage, const QString& secondLanguage ); 00014 BilingualKey( const BilingualKey& key ); 00015 ~BilingualKey(); 00016 00017 const QString& getFirstLanguage() const; 00018 const QString& getSecondLanguage() const; 00019 bool contains( const QString& language ) const; 00020 QString toString() const; 00021 00022 BilingualKey& operator=( const BilingualKey& key ); 00023 friend bool operator==( const BilingualKey& left, const BilingualKey& right ); 00024 friend bool operator<( const BilingualKey& left, const BilingualKey& right ); 00025 00026 friend QDataStream& operator<<( QDataStream& out, const BilingualKey& key ); 00027 friend QDataStream& operator>>( QDataStream& in, BilingualKey& key ); 00028 00029 private: 00030 00031 QString lang1; 00032 QString lang2; 00033 00034 }; 00035 00036 QDataStream& operator<<( QDataStream& out, const BilingualKey& key ); 00037 QDataStream& operator>>( QDataStream& in, BilingualKey& key ); 00038 00039 #endif 00040