embedded-framework/hal/src/HalMakePtr.h
xiaojiazhu 45a7b9e764 1.Improve hal module.
2.Add status code module.
2023-08-18 09:11:39 -07:00

18 lines
642 B
C++

#ifndef HALMAKEPTR_H
#define HALMAKEPTR_H
#include "IHal.h"
#include "IHalCpp.h"
#include "StatusCode.h"
#include <memory>
class HalMakePtr
{
public:
HalMakePtr() = default;
virtual ~HalMakePtr() = default;
static std::shared_ptr<HalMakePtr> &GetInstance(std::shared_ptr<HalMakePtr> *impl = nullptr);
virtual StatusCode Init() { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); }
virtual StatusCode UnInit() { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); }
virtual StatusCode CreateHalPtr(IHal **hal);
virtual StatusCode CreateHalSharePtr(std::shared_ptr<IHalCpp> &impl);
};
#endif