24 #ifndef CLI_COMMAND_LINE_INTERFACE_HPP
25 #define CLI_COMMAND_LINE_INTERFACE_HPP
38 #define MODE_COMMAND_LINE (1 << 0)
39 #define MODE_INTERACTIVE (1 << 1)
41 typedef std::vector<std::string>
Args;
82 const std::string& name,
83 const std::string& description,
84 const unsigned int& availability,
114 const std::string&
getName()
const;
void create_zone(const Args &argv)
Parses command line arguments and call vsm_create_zone.
Definition: command-line-interface.cpp:313
const std::vector< std::string > buildCompletionList(const Args &argv) const
Definition: command-line-interface.cpp:159
void start_zone(const Args &argv)
Parses command line arguments and call vsm_start_zone.
Definition: command-line-interface.cpp:350
Class that implements command pattern.
Definition: command-line-interface.hpp:52
Definition: command-line-interface.hpp:43
void netdev_del_ip_addr(const Args &argv)
Parses command line arguments and call vsm_netdev_del_ipv4_addr, vsm_netdev_del_ipv6_addr.
Definition: command-line-interface.cpp:642
std::function< void(const Args &argv)> ExecutorCallback
Definition: command-line-interface.hpp:58
void netdev_add_ip_addr(const Args &argv)
Parses command line arguments and call vsm_netdev_set_ipv4_addr, vsm_netdev_set_ipv6_addr.
Definition: command-line-interface.cpp:610
void * VsmClient
vasum-server's opaque client pointer.
Definition: vasum-client.h:173
const std::string mDescription
Definition: command-line-interface.hpp:151
CommandLineInterface(const ExecutorCallback &executorCallback, const std::string &name, const std::string &description, const unsigned int &availability, const ArgsSpec &argsSpec)
Construct command.
Definition: command-line-interface.hpp:81
void netdev_up(const Args &argv)
Parses command line arguments and call vsm_netdev_up.
Definition: command-line-interface.cpp:674
void netdev_list(const Args &argv)
Parses command line arguments and prints result of vsm_zone_get_netdevs, vsm_lookup_netdev_by_name, vsm_netdev_get_ipv4_addr, vsm_netdev_get_ipv6_addr.
Definition: command-line-interface.cpp:557
static void connect()
Set the class (static) in a connected state.
Definition: command-line-interface.cpp:189
std::string name
Definition: command-line-interface.hpp:44
void unlock_queue(const Args &)
Parses command line arguments and call vsm_set_active_zone.
Definition: command-line-interface.cpp:297
void grant_device(const Args &argv)
Parses command line arguments and call vsm_grant_device.
Definition: command-line-interface.cpp:478
void netdev_down(const Args &argv)
Parses command line arguments and call vsm_netdev_down.
Definition: command-line-interface.cpp:687
void clean_up_zones_root(const Args &)
Parses command line arguments and call vsm_clean_up_zones_root.
Definition: command-line-interface.cpp:700
std::vector< std::string > Args
Definition: command-line-interface.hpp:41
void unlock_zone(const Args &argv)
Parses command line arguments and call vsm_unlock_zone.
Definition: command-line-interface.cpp:405
CommandLineInterface()
Dummy constructor (for stl usage)
Definition: command-line-interface.hpp:68
bool isAvailable(unsigned int mode) const
Check if the command is available in specific mode.
Definition: command-line-interface.cpp:281
void destroy_netdev(const Args &argv)
Parses command line arguments and call vsm_destroy_netdev.
Definition: command-line-interface.cpp:544
static void disconnect()
Disconnect the class from a vasum client.
Definition: command-line-interface.cpp:210
const std::string mName
Definition: command-line-interface.hpp:150
void console_zone(const Args &argv)
Parses command line arguments and call lxc-console.
Definition: command-line-interface.cpp:361
void lock_queue(const Args &)
Parses command line arguments and call vsm_set_active_zone.
Definition: command-line-interface.cpp:292
static VsmClient client
Definition: command-line-interface.hpp:147
void get_zones_status(const Args &argv)
Parses command line arguments and prints list of zone with some useful informations (id...
Definition: command-line-interface.cpp:416
std::vector< ArgSpec > ArgsSpec
Definition: command-line-interface.hpp:63
std::string description
Definition: command-line-interface.hpp:45
static void executeCallback(const std::function< VsmStatus(VsmClient)> &fun)
Execute a callback passing the connected VsmClient.
Definition: command-line-interface.cpp:232
void lock_zone(const Args &argv)
Parses command line arguments and call vsm_lock_zone.
Definition: command-line-interface.cpp:394
const std::string & getDescription() const
Get the command description.
Definition: command-line-interface.cpp:247
void destroy_zone(const Args &argv)
Parses command line arguments and call vsm_destroy_zone.
Definition: command-line-interface.cpp:328
void printUsage(std::ostream &out) const
Print usage to stream.
Definition: command-line-interface.cpp:252
This file contains the public API for Vasum Client.
const std::string & getName() const
Get the command name.
Definition: command-line-interface.cpp:242
VsmStatus
Completion status of libvasum-client's functions.
Definition: vasum-client.h:193
const ArgsSpec mArgsSpec
Definition: command-line-interface.hpp:153
void set_active_zone(const Args &argv)
Parses command line arguments and call vsm_set_active_zone.
Definition: command-line-interface.cpp:302
void create_netdev(const Args &argv)
Parses command line arguments and call vsm_create_netdev_*.
Definition: command-line-interface.cpp:501
const unsigned int mAvailability
Definition: command-line-interface.hpp:152
void get_active_zone(const Args &)
Parses command line arguments and call vsm_get_active_zone_id.
Definition: command-line-interface.cpp:468
void revoke_device(const Args &argv)
Parses command line arguments and call vsm_revoke_device.
Definition: command-line-interface.cpp:490
void shutdown_zone(const Args &argv)
Parses command line arguments and call vsm_shutdown_zone.
Definition: command-line-interface.cpp:339
void get_zone_ids(const Args &)
Parses command line arguments and call vsm_get_zone_ids.
Definition: command-line-interface.cpp:453
std::string format
Definition: command-line-interface.hpp:46
void execute(const Args &argv) const
Do the work.
Definition: command-line-interface.cpp:286
const ExecutorCallback mExecutorCallback
Definition: command-line-interface.hpp:149