Skip to content
Snippets Groups Projects
Select Git revision
  • 14fadb2703ee1e047bbc6dc9db9bb7eefbcb4b57
  • master default
  • nodeCollections
  • v0.0.1
4 results

index.js

Blame
  • Configuration.h 2.54 KiB
    #ifndef CONFIGURATION_H
    #define CONFIGURATION_H
    
    #include <iostream>
    #include <stdint.h>
    #include <vector>
    #include <boost/shared_ptr.hpp>
    
    namespace PreProcessor_ns
    {
    
    class Configuration
    {
    public:
    //------------------------------------------------------------------------------
    //	[Public] Shared pointer typedef
    //------------------------------------------------------------------------------
    	typedef boost::shared_ptr<Configuration> SP;
    
    private:
    //------------------------------------------------------------------------------
    //	[Private] Constructor destructor deleter
    //------------------------------------------------------------------------------
    	Configuration(std::string watchPath, std::string destPath, int workerNumber,
            int sleepTime, int waitTime, uint32_t iNotifyMask) : m_watchPath(watchPath),
            m_destPath(destPath), m_workerNumber(workerNumber), m_sleepTime(sleepTime),
            m_waitTime(waitTime), m_iNotifyMask(iNotifyMask) { }
    
    	virtual ~Configuration() {}
    
    	class Deleter;
    	friend class Deleter;
    	class Deleter
    	{
    	public:
    		void operator()(Configuration* c) { delete c; }
    	};
    
    public:
    //------------------------------------------------------------------------------
    //	[Public] User methods
    //------------------------------------------------------------------------------
    	static Configuration::SP create(std::string watchPath, std::string destPath,
            int workerNumber, int sleepTime, int waitTime, uint32_t iNotifyMask)
    	{
    		Configuration::SP c_sp(new Configuration(watchPath, destPath, workerNumber,
    			 sleepTime, waitTime, iNotifyMask), Configuration::Deleter());
    
    		return c_sp;
    	}
    
    	std::string getWatchPath() const { return m_watchPath; }
        std::string getDestPath() const { return m_destPath; }
    	unsigned int getWorkerNumber() const { return m_workerNumber; }
        unsigned int getSleepTime() const { return m_sleepTime; }
    	unsigned int getWaitTime() const { return m_waitTime; }
    	uint32_t getINotifyMask() const { return m_iNotifyMask; }
    
    private:
    //------------------------------------------------------------------------------
    //	[Private] class variables
    //------------------------------------------------------------------------------
    	//INotify watch path
    	const std::string m_watchPath;
    
        //File destination path
        const std::string m_destPath;
    
    	//Worker thread number
    	const unsigned int m_workerNumber;
    
    	//Event thread sleep time
    	const unsigned int m_sleepTime;
    
    	//Worker thread wait time
    	const unsigned int m_waitTime;
    
    	//INotify mask
    	const uint32_t m_iNotifyMask;
    };
    
    }   //End of namespace
    
    #endif /*!CONFIGURATION_H*/