Subversion Repositories HomeAutomation

Rev

Rev 1326 | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1309 runge 1
/*
1311 runge 2
 * Protocol.h
1309 runge 3
 *
4
 *  Created on: Jul 23, 2009
5
 *      Author: Mattias Runge
6
 */
7
 
1311 runge 8
#ifndef PROTOCOL_H_
9
#define PROTOCOL_H_
1309 runge 10
 
1310 runge 11
#include <string>
12
#include <boost/make_shared.hpp>
13
#include "xml/Node.h"
1315 runge 14
#include "log/Logger.h"
1310 runge 15
 
1309 runge 16
namespace atom {
17
 
1310 runge 18
using namespace std;
19
 
1311 runge 20
class Protocol
1309 runge 21
{
22
public:
1311 runge 23
    typedef boost::shared_ptr<Protocol> pointer;
1310 runge 24
 
1311 runge 25
    virtual ~Protocol();
1310 runge 26
 
27
    static pointer getInstance();
28
 
1326 runge 29
    void load(string filename, string cachefilename);
1310 runge 30
 
31
    xml::Node & getRootNode();
1326 runge 32
    xml::Node & getRootCacheNode();
1310 runge 33
 
1328 runge 34
    bool isLoaded();
35
 
1310 runge 36
private:
1311 runge 37
    Protocol();
1310 runge 38
 
39
    static pointer Instance;
40
 
1315 runge 41
    log::Logger LOG;
1310 runge 42
 
1328 runge 43
    bool myIsLoaded;
1310 runge 44
    xml::Node myXmlNode;
1326 runge 45
    xml::Node myXmlCacheNode;
1309 runge 46
};
47
 
48
}
49
 
1311 runge 50
#endif /* PROTOCOL_H_ */