hikyuu2/hikyuu_cpp/hikyuu/data_driver/DataDriverFactory.h

45 lines
1.2 KiB
C++
Raw Normal View History

2015-01-07 01:26:14 +08:00
/*
* DatabaseDriverFactory.h
*
* Created on: 2012-8-14
* Author: fasiondog
*/
#pragma once
2015-01-07 01:26:14 +08:00
#ifndef DATADRIVERFACTORY_H_
#define DATADRIVERFACTORY_H_
#include "BaseInfoDriver.h"
#include "KDataDriver.h"
2016-04-03 00:08:31 +08:00
#include "BlockInfoDriver.h"
2015-01-07 01:26:14 +08:00
namespace hku {
2017-10-20 02:11:57 +08:00
/**
*
* @ingroup DataDriver
*/
class HKU_API DataDriverFactory {
2015-01-07 01:26:14 +08:00
public:
static void regBaseInfoDriver(const BaseInfoDriverPtr&);
static void removeBaseInfoDriver(const string& name);
static BaseInfoDriverPtr getBaseInfoDriver(const Parameter&);
static void regBlockDriver(const BlockInfoDriverPtr&);
static void removeBlockDriver(const string& name);
static BlockInfoDriverPtr getBlockDriver(const Parameter&);
static void regKDataDriver(const KDataDriverPtr&);
static void removeKDataDriver(const string& name);
static KDataDriverPtr getKDataDriver(const Parameter&);
private:
static map<string, BaseInfoDriverPtr> m_baseInfoDrivers;
static map<string, BlockInfoDriverPtr> m_blockDrivers;
static map<string, KDataDriverPtr> m_kdataDrivers;
static map<Parameter, KDataDriverPtr> m_param_kdataDrivers;
2015-01-07 01:26:14 +08:00
};
} /* namespace hku */
#endif /* DATABASEDRIVERFACTORY_H_ */