Skip to content

Commit

Permalink
Finished Option* classes
Browse files Browse the repository at this point in the history
  • Loading branch information
oKcerG committed May 7, 2011
1 parent e415fdf commit 748bd32
Show file tree
Hide file tree
Showing 12 changed files with 172 additions and 32 deletions.
6 changes: 4 additions & 2 deletions SmackTT.cbp
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@
<Add library="mysqlpp" />
<Add directory="..\libs\mysql++-3.1.0" />
</Linker>
<Unit filename="abstractoptionreader.cpp" />
<Unit filename="abstractoptionreader.h" />
<Unit filename="announce.h" />
<Unit filename="announceoptionreader.cpp" />
<Unit filename="announceoptionreader.h" />
Expand All @@ -68,6 +66,10 @@
<Unit filename="main.cpp" />
<Unit filename="option.cpp" />
<Unit filename="option.h" />
<Unit filename="optionmanager.cpp" />
<Unit filename="optionmanager.h" />
<Unit filename="optionreader.cpp" />
<Unit filename="optionreader.h" />
<Unit filename="server.cpp" />
<Unit filename="server.h" />
<Unit filename="torrent.h" />
Expand Down
13 changes: 8 additions & 5 deletions config.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
#include "config.h"
#include "database.h"
#include "option.h"
#include "fileoptionreader.h"
#include "databaseoptionreader.h"

Config::Config(Database& database) : m_fOption("xbt_tracker.conf"), m_dbOption(database)
Config::Config(Database& database)
{
m_fOption.addOption("announce_interval", m_announce_interval, 1800)
m_manager.addReader(new FileOptionReader("xbt_tracker.conf"));
m_manager.addReader(new DatabaseOptionReader(database));

m_manager.addOption("announce_interval", m_announce_interval, 1800)
.addOption("anonymous_announce", m_anonymous_announce, true)
.addOption("anonymous_connect", m_anonymous_connect, true)
.addOption("anonymous_scrape", m_anonymous_scrape, true)
Expand Down Expand Up @@ -36,6 +40,5 @@ Config::Config(Database& database) : m_fOption("xbt_tracker.conf"), m_dbOption(d

void Config::read()
{
m_fOption.readOptions();
m_dbOption.readOptions();
m_manager.readOptions();
}
6 changes: 2 additions & 4 deletions config.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
#define CONFIG_H

#include <string>
#include "fileoptionreader.h"
#include "databaseoptionreader.h"
#include "optionmanager.h"

class Database;

Expand Down Expand Up @@ -44,8 +43,7 @@ class Config

protected:
private:
FileOptionReader m_fOption;
DatabaseOptionReader m_dbOption;
OptionManager m_manager;
int m_announce_interval;
bool m_anonymous_connect;
bool m_anonymous_announce;
Expand Down
4 changes: 3 additions & 1 deletion connection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "config.h"
#include "database.h"
#include "urioptionreader.h"
#include "optionmanager.h"
#include "user.h"
#include <ctime>
#include "torrent.h"
Expand Down Expand Up @@ -125,7 +126,8 @@ void Connection::handleAnnounce(const std::string& passkey, const std::string& u

Announce Connection::parseAnnounce(const std::string& uri)
{
UriOptionReader options(uri);
OptionManager options;
options.addReader(new UriOptionReader(uri));
Announce a;
options.addOption("info_hash", a.infohash)
.addOption("peer_id", a.peerid)
Expand Down
3 changes: 2 additions & 1 deletion databaseconfig.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
#include "databaseconfig.h"
#include "optionmanager.h"
#include "fileoptionreader.h"
#include <sstream>
#include <iostream>
#include "option.h"

DatabaseConfig::DatabaseConfig()
{
FileOptionReader options("xbt_tracker.conf");
OptionManager options(new FileOptionReader("xbt_tracker.conf"));
options.addOption("mysql_host", m_host)
.addOption("mysql_user", m_user)
.addOption("mysql_password", m_password)
Expand Down
4 changes: 2 additions & 2 deletions databaseoptionreader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
#include <boost/foreach.hpp>
#define foreach BOOST_FOREACH

DatabaseOptionReader::DatabaseOptionReader(Database& database) : AbstractOptionReader(), m_database(database)
DatabaseOptionReader::DatabaseOptionReader(Database& database) : m_database(database)
{
}

void DatabaseOptionReader::readValues()
void DatabaseOptionReader::readOptions()
{
m_database.getConfig(m_values);
}
8 changes: 3 additions & 5 deletions databaseoptionreader.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
#ifndef DATABASEOPTIONREADER_H
#define DATABASEOPTIONREADER_H

#include "abstractoptionreader.h"
#include "optionreader.h"
class Database;

class DatabaseOptionReader : public AbstractOptionReader
class DatabaseOptionReader : public OptionReader
{
public:
DatabaseOptionReader(Database& database);

protected:
void readValues();
void readOptions();

private:
Database& m_database;
Expand Down
2 changes: 1 addition & 1 deletion fileoptionreader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ FileOptionReader::FileOptionReader(const std::string& fileName) : m_fileName(fil
{
}

void FileOptionReader::readValues()
void FileOptionReader::readOptions()
{
std::ifstream fileStream(m_fileName.c_str(), std::ifstream::in);
std::string line;
Expand Down
9 changes: 3 additions & 6 deletions fileoptionreader.h
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
#ifndef FILEOPTIONREADER_H
#define FILEOPTIONREADER_H

#include "abstractOptionReader.h"
#include "optionreader.h"
#include <string>


class FileOptionReader : public AbstractOptionReader
class FileOptionReader : public OptionReader
{
public:
FileOptionReader(const std::string& fileName);

protected:
void readValues();
void readOptions();

private:
std::string m_fileName;
Expand Down
140 changes: 139 additions & 1 deletion main.cpp

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion urioptionreader.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "urioptionreader.h"
#include "utils.h"
#include <vector>
#include <boost/algorithm/string.hpp>
#include <boost/foreach.hpp>

Expand All @@ -13,7 +14,7 @@ UriOptionReader::UriOptionReader(const string& uri) : m_uri(uri)
//ctor
}

void UriOptionReader::readValues()
void UriOptionReader::readOptions()
{
//*
typedef iterator_range<string::iterator> stringItRange;
Expand Down
6 changes: 3 additions & 3 deletions urioptionreader.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#ifndef URIOPTIONREADER_H
#define URIOPTIONREADER_H

#include "abstractoptionreader.h"
#include "optionreader.h"
#include <string>

class UriOptionReader : public AbstractOptionReader
class UriOptionReader : public OptionReader
{
public:
UriOptionReader(const std::string& uri);

protected:
void readValues();
void readOptions();

private:
std::string m_uri;
Expand Down

0 comments on commit 748bd32

Please sign in to comment.