#ifndef InitDatei_H #define InitDatei_H #include "Array.h" namespace Framework { class Text; //! Text.h //! Verwaltet Initialisierungsdateien in denen Bestimmte Variablen im Format //! name=Wert gespeichert sind class InitDatei : public virtual ReferenceCounter { private: Text* pfad; RCArray* name; RCArray* wert; public: //! Konstruktor DLLEXPORT InitDatei(); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT InitDatei(Text* pfad); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT InitDatei(const char* pfad); //! Destruktor DLLEXPORT ~InitDatei(); //! Setzt den Pfad zur Datei //! \param pfad Der Pfad zur Datei DLLEXPORT void setPfad(Text* pfad); //! Setzt den Pfad zur Datei //! \param pfad Der Pfad zur Datei DLLEXPORT void setPfad(const char* pfad); //! Laehdt die Werte aus der Datei //! \return 1, falls das Laden erfolgreich war. 0, wenn ein fehler //! aufgetreten ist. DLLEXPORT bool laden(); //! Fuegt der Datei einen Wert hinzu //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert erfolgreich hinzugefuegt wurde DLLEXPORT bool addWert(Text* name, Text* wert); //! Fuegt der Datei einen Wert hinzu //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert erfolgreich hinzugefuegt wurde DLLEXPORT bool addWert(const char* name, const char* wert); //! AEndert einen bestimmten Wert //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert //! werden konnte DLLEXPORT bool setWert(Text* name, Text* wert); //! AEndert einen bestimmten Wert //! \param name Der Name des Wertes //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert //! werden konnte DLLEXPORT bool setWert(const char* name, const char* wert); //! AEndert einen bestimmten Wert //! \param num Der Index des Wertes der geaendert werden soll //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert //! werden konnte DLLEXPORT bool setWert(int num, Text* wert); //! AEndert einen bestimmten Wert //! \param num Der Index des Wertes der geaendert werden soll //! \param wert Der Wert, der gespeichert werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert //! werden konnte DLLEXPORT bool setWert(int num, const char* wert); //! Loescht einen bestimmten Wert //! \param name Der Name des Wertes, der geloescht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht //! werden konnte DLLEXPORT bool removeWert(Text* name); //! Loescht einen bestimmten Wert //! \param name Der Name des Wertes, der geloescht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht //! werden konnte DLLEXPORT bool removeWert(const char* name); //! Loescht einen bestimmten Wert //! \param num Der Index des Wertes der geloescht werden soll //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht //! werden konnte DLLEXPORT bool removeWert(int num); //! Loescht alle Werte aus der Datei DLLEXPORT void removeAlle(); //! Speichert alle Werte in der Datei //! \return 1, falls das Speichern erfolgreich war DLLEXPORT bool speichern(); //! Gibt die Anzahl der gespeicherten Werte zurueck DLLEXPORT int getWertAnzahl() const; //! UEberprueft, ob ein bestimmter Wert existiert //! \param name Der Name, nach dem gesucht werden soll //! \return 1, falls der Wert gefunden wurde DLLEXPORT bool wertExistiert(Text* name); //! UEberprueft, ob ein bestimmter Wert existiert //! \param name Der Name, nach dem gesucht werden soll //! \return 1, falls der Wert gefunden wurde DLLEXPORT bool wertExistiert(const char* name); //! Gibt den Index eines Bestimmten Wertes zurueck //! \param name Der Name des Wertes, nach dem gesucht werden soll //! \return -1, falls der Wert nicht gefunden wurde. Der Index des //! Wertes. DLLEXPORT int getWertNummer(Text* name); //! Gibt den Index eines Bestimmten Wertes zurueck //! \param name Der Name des Wertes, nach dem gesucht werden soll //! \return -1, falls der Wert nicht gefunden wurde. Der Index des //! Wertes. DLLEXPORT int getWertNummer(const char* name); //! Gibt einen bestimmten Wert zurueck //! \param name Der Name des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(Text* name); //! Gibt einen bestimmten Wert zurueck //! \param name Der Name des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(const char* name); //! Gibt einen bestimmten Wert zurueck //! \param num Der Index des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getWert(int num); //! Gibt einen bestimmten Wert zurueck //! \param name Der Name des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhoehten Reference Counter DLLEXPORT Text* zWert(Text* name); //! Gibt einen bestimmten Wert zurueck //! \param name Der Name des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhoehten Reference Counter DLLEXPORT Text* zWert(const char* name); //! Gibt einen bestimmten Wert zurueck //! \param num Der Index des Wertes, der zurueckgegeben werden soll //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne //! erhoehten Reference Counter DLLEXPORT Text* zWert(int num); //! Gibt den Namen eines bestimmten Wertes zurueck //! \param num Der Index des Wertes, dessen Namen zurueckgegeben werden //! soll \return 0, falls der Wert nicht gefunden wurde. DLLEXPORT Text* getName(int num); //! Gibt den Namen eines bestimmten Wertes zurueck //! \param num Der Index des Wertes, dessen Namen zurueckgegeben werden //! soll \return 0, falls der Wert nicht gefunden wurde. Der Name ohne //! erhoehten Reference Counter DLLEXPORT Text* zName(int num); //! Gibt den Pfad zur Datei zurueck DLLEXPORT Text* getPfad() const; //! Gibt den Pfad zur Datei ohne erhoehten Reference Counter zurueck DLLEXPORT Text* zPfad() const; }; } // namespace Framework #endif