sonic-db-cli/sonic-db-cli.h (51 lines of code) (raw):
#pragma once
#include <functional>
#include <string>
#include <vector>
#include <memory>
#include "common/dbconnector.h"
#include "common/dbinterface.h"
#include "common/redisreply.h"
struct Options
{
bool m_help = false;
bool m_unixsocket = false;
std::string m_namespace;
std::string m_db_or_op;
std::vector<std::string> m_cmd;
};
void printUsage();
void printRedisReply(swss::RedisReply& reply);
std::shared_ptr<swss::DBConnector> connectDbInterface(
const std::string& db_name,
const std::string& netns,
bool isTcpConn);
int executeCommands(
const std::string& db_name,
std::vector<std::string>& commands,
const std::string& netns,
bool isTcpConn);
std::string handleSingleOperation(
const std::string& netns,
const std::string& db_name,
const std::string& operation,
bool isTcpConn);
int handleAllInstances(
const std::string& netns,
const std::string& operation,
bool isTcpConn);
void parseCliArguments(
int argc,
char** argv,
Options &options);
int sonic_db_cli(
int argc,
char** argv,
std::function<void()> initializeGlobalConfig,
std::function<void()> initializeConfig);
int cli_exception_wrapper(
int argc,
char** argv,
std::function<void()> initializeGlobalConfig,
std::function<void()> initializeConfig);
std::string getCommandName(std::vector<std::string>& command);