diff --git a/LocalModDescription.cpp b/LocalModDescription.cpp new file mode 100644 index 0000000..9781574 --- /dev/null +++ b/LocalModDescription.cpp @@ -0,0 +1,18 @@ +#include "LocalModDescription.h" +using namespace mmm; + +LocalModDescription::LocalModDescription() { + _remoteModlist = ""; +} + +LocalModDescription::~LocalModDescription() { + _remoteModlist = ""; +} + +std::string LocalModDescription::getRemoteModlistName() { + return _remoteModlist; +} + +void LocalModDescription::setRemoteModlistName(std::string remoteModlist) { + _remoteModlist = remoteModlist; +} diff --git a/LocalModDescription.h b/LocalModDescription.h new file mode 100644 index 0000000..fdc82ff --- /dev/null +++ b/LocalModDescription.h @@ -0,0 +1,27 @@ +#ifndef _LOCALMODDESCRIPTION_H +#define _LOCALMODDESCRIPTION_H +#include "ModDescription.h" +/// \file LocalModDescription.h +/// \brief A class describing a mod in a local modlist. +/// \author Phitherek_ +/// \date 2013 +/// \version 0.1-pre + +/// \namespace mmm +/// \brief A global namespace for 3m +namespace mmm { +/// \class LocalModDescription +/// \brief A class describing a mod in a local modlist. +class LocalModDescription: public ModDescription { +private: +std::string _remoteModlist; +public: +LocalModDescription(); ///< A constructor. +~LocalModDescription(); ///< A destructor. +std::string getRemoteModlistName(); ///< \brief A function returning remote modlist name. +///< \return Remote modlist name. +void setRemoteModlistName(std::string remoteModlist); ///< \brief A function setting remote modlist name. +///< \param remoteModlist Remote modlist name +}; +} +#endif diff --git a/OBJECTS b/OBJECTS index 59d3339..3fa1d77 100644 --- a/OBJECTS +++ b/OBJECTS @@ -6,4 +6,10 @@ RepositoryModDescription: ModDescription + path (inheritance) RepositoryInfo: vector ModListDescription: name, server, modlistPath ModInfoDescription: name, server, modinfoPath -ModInfo: ModInfoDescription, vector \ No newline at end of file +ModInfo: ModInfoDescription, vector +ParameterParser: actionList, argc, argv +SyncAction +InstallAction +UpdateAction +RemoveAction +InfoAction \ No newline at end of file diff --git a/tests/LocalModDescriptionTest.cpp b/tests/LocalModDescriptionTest.cpp new file mode 100644 index 0000000..96390e8 --- /dev/null +++ b/tests/LocalModDescriptionTest.cpp @@ -0,0 +1,27 @@ +#include +#include +#include "../LocalModDescription.h" +using namespace std; + +int main() { +mmm::LocalModDescription md; +md.setName("test"); +md.setDescription("Test ModDescription entry"); +md.setReleaseNr(1); +md.setRemoteModlistName("test"); +md.setRepositoryType("archive"); +md.setRepositoryAddress("http://example.tld/mod.zip"); +md.insertDependency("test2"); +md.insertDependency("test3"); +cout << "Remote modlist name: " << md.getRemoteModlistName() << endl << "Name: " << md.getName() << endl << "Description: " << md.getDescription() << endl << "Release number: " << md.getReleaseNr() << endl << "Depends on: "; +while(!md.dependenciesEnd()) { + cout << md.getNextDependency() << " "; +} +cout << endl << "Dependencies again: "; +md.resetDependencyIterator(); +while(!md.dependenciesEnd()) { + cout << md.getNextDependency() << " "; +} +cout << endl << "Repository type: " << md.getRepositoryType() << endl << "Repository address: " << md.getRepositoryAddress() << endl; +return EXIT_SUCCESS; +} diff --git a/tests/Makefile b/tests/Makefile index 3ea4225..08900e5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -2,8 +2,10 @@ CXXFLAGS=-Wall all: ${CXX} ${CXXFLAGS} -o ConfigFileTest ConfigFileTest.cpp ../ConfigFile.cpp ../3mExceptions.cpp ${CXX} ${CXXFLAGS} -o ModDescriptionTest ModDescriptionTest.cpp ../ModDescription.cpp + ${CXX} ${CXXFLAGS} -o LocalModDescriptionTest LocalModDescriptionTest.cpp ../LocalModDescription.cpp ../ModDescription.cpp debug: ${CXX} ${CXXFLAGS} -o ConfigFileTest ConfigFileTest.cpp ../ConfigFile.cpp ../3mExceptions.cpp -g ${CXX} ${CXXFLAGS} -o ModDescriptionTest ModDescriptionTest.cpp ../ModDescription.cpp -g + ${CXX} ${CXXFLAGS} -o LocalModDescriptionTest LocalModDescriptionTest.cpp ../LocalModDescription.cpp ../ModDescription.cpp clean: - rm -rf ConfigFileTest ModDescriptionTest + rm -rf ConfigFileTest ModDescriptionTest LocalModDescriptionTest