DBWrapper.h 958 字节
Newer Older
G
groot 已提交
1 2 3 4 5 6 7
/*******************************************************************************
 * Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited.
 * Proprietary and confidential.
 ******************************************************************************/
#pragma once

G
groot 已提交
8
#include "utils/Error.h"
G
groot 已提交
9
#include "db/DB.h"
G
groot 已提交
10

G
groot 已提交
11 12
#include <memory>

G
groot 已提交
13
namespace zilliz {
J
jinhai 已提交
14
namespace milvus {
G
groot 已提交
15
namespace server {
G
groot 已提交
16

G
groot 已提交
17
class DBWrapper {
G
groot 已提交
18
private:
G
groot 已提交
19
    DBWrapper();
G
groot 已提交
20
    ~DBWrapper() = default;
G
groot 已提交
21

G
groot 已提交
22
public:
G
groot 已提交
23 24 25 26 27 28 29
    static DBWrapper& GetInstance() {
        static DBWrapper wrapper;
        return wrapper;
    }

    static std::shared_ptr<engine::DB> DB() {
        return GetInstance().EngineDB();
G
groot 已提交
30 31
    }

G
groot 已提交
32 33 34 35 36 37
    ServerError StartService();
    ServerError StopService();

    std::shared_ptr<engine::DB> EngineDB() {
        return db_;
    }
G
groot 已提交
38 39

private:
G
groot 已提交
40
    std::shared_ptr<engine::DB> db_;
G
groot 已提交
41 42 43 44 45
};

}
}
}