nt9856x/code/application/sifarsdk/333DE/hal/Hal333DEMakePtr.h

34 lines
1.6 KiB
C++

#ifndef HAL_333DE_MAKE_PTR_H
#define HAL_333DE_MAKE_PTR_H
#include "ReturnCode.h"
#include "IHal.h"
#include "Gpio.h"
#include "HalX86MakePtr.h"
#include "CameraHal.h"
#include <map>
typedef struct SF_KEYMNG_INFO_S
{
SF_KEY_PIN_E pinNumber; /* serial number*/
SF_BOOL valueMeansKeyUp; /* PIN state*/
// SINT16 u32keycount; /* Count value*/
// SINT16 ShortLongMaxCount; /* Pin number*/
// SF_KEY_STATE_E enState; /* Initial state*/
} SF_KEYMNG_INFO_S;
class Hal333DEMakePtr : public HalX86MakePtr
{
public:
Hal333DEMakePtr();
virtual ~Hal333DEMakePtr() = default;
RETURN_CODE CreateHalModuleInstance(std::shared_ptr<IHal> &impl) override;
RETURN_CODE CreateNetworkModuleHandle(std::shared_ptr<VNetWorkHardware> &impl) override;
virtual RETURN_CODE CreateGpioLedContrlInstance(const SfLedIndex &led, std::shared_ptr<VLedContrl> &ledContrl);
virtual RETURN_CODE CreateGpioKeyContrlInstance(const SfKeyDefine &key, std::shared_ptr<VKeyContrl> &keyContrl);
virtual RETURN_CODE CreateGpioInputInstance(const GpioPin &gpio, std::shared_ptr<VGpioInputHandle> &gpioInput);
virtual RETURN_CODE CreateCameraChip(const CameraType &type, std::shared_ptr<CameraHal> &camera);
virtual RETURN_CODE CreateLightWeightCPU(std::shared_ptr<VLightWeightCPU> &lcpu);
virtual RETURN_CODE CreateSdCardHal(std::shared_ptr<VSDCardHal> &sdCardHal);
private:
std::map<SfKeyDefine, SF_KEYMNG_INFO_S> mKeyInfo;
};
#endif // !HAL_333DE_MAKE_PTR_H