38 lines
998 B
C++
38 lines
998 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <boost/program_options.hpp>
|
|
#include "config.hpp"
|
|
|
|
namespace dropshell {
|
|
|
|
// Version information
|
|
const std::string VERSION = "1.0.0";
|
|
const std::string RELEASE_DATE = "2025-04-21";
|
|
const std::string AUTHOR = "j842";
|
|
const std::string LICENSE = "MIT";
|
|
|
|
// Server information structure
|
|
struct ServerInfo {
|
|
std::string name;
|
|
std::string ssh_host;
|
|
std::string ssh_user;
|
|
std::string ssh_port;
|
|
};
|
|
|
|
// Command handlers
|
|
void print_help(const boost::program_options::options_description& desc);
|
|
void print_version();
|
|
void check_status();
|
|
void list_servers();
|
|
void list_templates();
|
|
void show_server_details(const std::string& server_name);
|
|
|
|
// Utility functions
|
|
std::vector<ServerInfo> get_configured_servers();
|
|
std::vector<std::string> autocomplete_list_servers();
|
|
std::vector<std::string> autocomplete_list_services(const std::string& server_name);
|
|
std::vector<std::string> autocomplete_list_commands();
|
|
|
|
} // namespace dropshell
|