#ifndef _APP_H
#define _APP_H

#include <unistd.h>
#include <stdio.h>
#include <klog.h>
#include <objclient.h>
#include <kconfig.h>
#include <sitecfg.h>
#include <time.h>
#include <device.h>
#include <serconf/SerialConfig.h>

#include "led_flasher.h"
#include "south_device.h"

class Application {
public:
    Application();
    ~Application();
    bool init();
    void run();
    void exit();
protected:
    cKlog logger;
    cObjectClient *mObjectClient;
private:
    bool running;
    LEDflasher flasher;
    std::list<SouthDevice*> devices;
    kserial::SerialConfig *m_serconf;

    int getSerial(const char *device_name);
};

#endif
