Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Client Class Referencefinal

vasum's client definition. More...

#include <vasum-client-impl.hpp>

Classes

struct  Status
 

Public Member Functions

 Client () noexcept
 
 ~Client () noexcept
 
VsmStatus connectSystem () noexcept
 Connect client with system ipc address. More...
 
VsmStatus connect (const std::string &address) noexcept
 Connect client. More...
 
VsmStatus disconnect () noexcept
 Disconnect client. More...
 
VsmStatus vsm_get_poll_fd (int *fd) noexcept
 
VsmStatus vsm_enter_eventloop (int flags, int timeout) noexcept
 
VsmStatus vsm_set_dispatcher_type (VsmDispacherType dispacher) noexcept
 
VsmStatus vsm_get_dispatcher_type (VsmDispacherType *dispacher) noexcept
 
const char * vsm_get_status_message () const noexcept
 
VsmStatus vsm_get_status () const noexcept
 
VsmStatus vsm_get_zone_dbuses (VsmArrayString *keys, VsmArrayString *values) noexcept
 
VsmStatus vsm_lock_queue () noexcept
 
VsmStatus vsm_unlock_queue () noexcept
 
VsmStatus vsm_get_zone_ids (VsmArrayString *array) noexcept
 
VsmStatus vsm_get_active_zone_id (VsmString *id) noexcept
 
VsmStatus vsm_lookup_zone_by_pid (int pid, VsmString *id) noexcept
 
VsmStatus vsm_lookup_zone_by_id (const char *id, Zone *zone) noexcept
 
VsmStatus vsm_lookup_zone_by_terminal_id (int terminal, VsmString *id) noexcept
 
VsmStatus vsm_set_active_zone (const char *id) noexcept
 
VsmStatus vsm_create_zone (const char *id, const char *tname) noexcept
 
VsmStatus vsm_destroy_zone (const char *id) noexcept
 
VsmStatus vsm_shutdown_zone (const char *id) noexcept
 
VsmStatus vsm_start_zone (const char *id) noexcept
 
VsmStatus vsm_lock_zone (const char *id) noexcept
 
VsmStatus vsm_unlock_zone (const char *id) noexcept
 
VsmStatus vsm_add_state_callback (VsmZoneDbusStateFunction zoneDbusStateCallback, void *data, VsmSubscriptionId *subscriptionId) noexcept
 
VsmStatus vsm_del_state_callback (VsmSubscriptionId subscriptionId) noexcept
 
VsmStatus vsm_grant_device (const char *id, const char *device, uint32_t flags) noexcept
 
VsmStatus vsm_revoke_device (const char *id, const char *device) noexcept
 
VsmStatus vsm_zone_get_netdevs (const char *zone, VsmArrayString *netdevIds) noexcept
 
VsmStatus vsm_netdev_get_ip_addr (const char *zone, const char *netdevId, std::vector< InetAddr > &addrs) noexcept
 
VsmStatus vsm_netdev_get_ipv4_addr (const char *zone, const char *netdevId, struct in_addr *addr) noexcept
 
VsmStatus vsm_netdev_get_ipv6_addr (const char *zone, const char *netdevId, struct in6_addr *addr) noexcept
 
VsmStatus vsm_netdev_add_ipv4_addr (const char *zone, const char *netdevId, struct in_addr *addr, int prefix) noexcept
 
VsmStatus vsm_netdev_add_ipv6_addr (const char *zone, const char *netdevId, struct in6_addr *addr, int prefix) noexcept
 
VsmStatus vsm_netdev_del_ipv4_addr (const char *zone, const char *netdevId, struct in_addr *addr, int prefix) noexcept
 
VsmStatus vsm_netdev_del_ipv6_addr (const char *zone, const char *netdevId, struct in6_addr *addr, int prefix) noexcept
 
VsmStatus vsm_netdev_up (const char *zone, const char *netdevId) noexcept
 
VsmStatus vsm_netdev_down (const char *zone, const char *netdevId) noexcept
 
VsmStatus vsm_create_netdev_veth (const char *zone, const char *zoneDev, const char *hostDev) noexcept
 
VsmStatus vsm_create_netdev_macvlan (const char *zone, const char *zoneDev, const char *hostDev, enum macvlan_mode mode) noexcept
 
VsmStatus vsm_create_netdev_phys (const char *zone, const char *devId) noexcept
 
VsmStatus vsm_lookup_netdev_by_name (const char *zone, const char *netdevId, Netdev *netdev) noexcept
 
VsmStatus vsm_destroy_netdev (const char *zone, const char *devId) noexcept
 
VsmStatus vsm_declare_file (const char *zone, VsmFileType type, const char *path, int32_t flags, mode_t mode, VsmString *id) noexcept
 
VsmStatus vsm_declare_mount (const char *source, const char *zone, const char *target, const char *type, uint64_t flags, const char *data, VsmString *id) noexcept
 
VsmStatus vsm_declare_link (const char *source, const char *zone, const char *target, VsmString *id) noexcept
 
VsmStatus vsm_list_declarations (const char *zone, VsmArrayString *declarations) noexcept
 
VsmStatus vsm_remove_declaration (const char *zone, VsmString declaration) noexcept
 
VsmStatus vsm_clean_up_zones_root () noexcept
 

Private Member Functions

bool isConnected () const
 
bool isInternalDispatcherEnabled () const
 
cargo::ipc::epoll::EventPollgetEventPoll () const
 
VsmStatus coverException (const std::function< void(void)> &worker) noexcept
 

Private Attributes

Status mStatus
 
std::mutex mStatusMutex
 
std::unique_ptr
< cargo::ipc::epoll::ThreadDispatcher
mInternalDispatcher
 
std::unique_ptr
< cargo::ipc::epoll::EventPoll
mEventPoll
 
std::unique_ptr
< cargo::ipc::Client
mClient
 

Detailed Description

vasum's client definition.

Client uses dbus API.

Constructor & Destructor Documentation

Client::Client ( )
noexcept
Client::~Client ( )
noexcept

Member Function Documentation

VsmStatus Client::connect ( const std::string &  address)
noexcept

Connect client.

Parameters
addressipc socket address
Returns
status of this function call
VsmStatus Client::connectSystem ( )
noexcept

Connect client with system ipc address.

Returns
status of this function call
VsmStatus Client::coverException ( const std::function< void(void)> &  worker)
privatenoexcept
VsmStatus Client::disconnect ( )
noexcept

Disconnect client.

cargo::ipc::epoll::EventPoll & Client::getEventPoll ( ) const
private
bool Client::isConnected ( ) const
private
bool Client::isInternalDispatcherEnabled ( ) const
private
VsmStatus Client::vsm_add_state_callback ( VsmZoneDbusStateFunction  zoneDbusStateCallback,
void *  data,
VsmSubscriptionId subscriptionId 
)
noexcept
VsmStatus Client::vsm_clean_up_zones_root ( )
noexcept
VsmStatus Client::vsm_create_netdev_macvlan ( const char *  zone,
const char *  zoneDev,
const char *  hostDev,
enum macvlan_mode  mode 
)
noexcept
VsmStatus Client::vsm_create_netdev_phys ( const char *  zone,
const char *  devId 
)
noexcept
VsmStatus Client::vsm_create_netdev_veth ( const char *  zone,
const char *  zoneDev,
const char *  hostDev 
)
noexcept
VsmStatus Client::vsm_create_zone ( const char *  id,
const char *  tname 
)
noexcept
See Also
vsm_create_zone
VsmStatus Client::vsm_declare_file ( const char *  zone,
VsmFileType  type,
const char *  path,
int32_t  flags,
mode_t  mode,
VsmString id 
)
noexcept
VsmStatus Client::vsm_declare_link ( const char *  source,
const char *  zone,
const char *  target,
VsmString id 
)
noexcept
VsmStatus Client::vsm_declare_mount ( const char *  source,
const char *  zone,
const char *  target,
const char *  type,
uint64_t  flags,
const char *  data,
VsmString id 
)
noexcept
VsmStatus Client::vsm_del_state_callback ( VsmSubscriptionId  subscriptionId)
noexcept
VsmStatus Client::vsm_destroy_netdev ( const char *  zone,
const char *  devId 
)
noexcept
VsmStatus Client::vsm_destroy_zone ( const char *  id)
noexcept
VsmStatus Client::vsm_enter_eventloop ( int  flags,
int  timeout 
)
noexcept
VsmStatus Client::vsm_get_active_zone_id ( VsmString id)
noexcept
VsmStatus Client::vsm_get_dispatcher_type ( VsmDispacherType dispacher)
noexcept
VsmStatus Client::vsm_get_poll_fd ( int *  fd)
noexcept
See Also
vsm_get_poll_fd
VsmStatus Client::vsm_get_status ( ) const
noexcept
See Also
vsm_get_status
const char * Client::vsm_get_status_message ( ) const
noexcept
VsmStatus Client::vsm_get_zone_dbuses ( VsmArrayString keys,
VsmArrayString values 
)
noexcept
VsmStatus Client::vsm_get_zone_ids ( VsmArrayString array)
noexcept
VsmStatus Client::vsm_grant_device ( const char *  id,
const char *  device,
uint32_t  flags 
)
noexcept
VsmStatus Client::vsm_list_declarations ( const char *  zone,
VsmArrayString declarations 
)
noexcept
VsmStatus Client::vsm_lock_queue ( )
noexcept
See Also
vsm_lock_queue
VsmStatus Client::vsm_lock_zone ( const char *  id)
noexcept
See Also
vsm_lock_zone
VsmStatus Client::vsm_lookup_netdev_by_name ( const char *  zone,
const char *  netdevId,
Netdev netdev 
)
noexcept
VsmStatus Client::vsm_lookup_zone_by_id ( const char *  id,
Zone zone 
)
noexcept
VsmStatus Client::vsm_lookup_zone_by_pid ( int  pid,
VsmString id 
)
noexcept
VsmStatus Client::vsm_lookup_zone_by_terminal_id ( int  terminal,
VsmString id 
)
noexcept
VsmStatus Client::vsm_netdev_add_ipv4_addr ( const char *  zone,
const char *  netdevId,
struct in_addr *  addr,
int  prefix 
)
noexcept
VsmStatus Client::vsm_netdev_add_ipv6_addr ( const char *  zone,
const char *  netdevId,
struct in6_addr *  addr,
int  prefix 
)
noexcept
VsmStatus Client::vsm_netdev_del_ipv4_addr ( const char *  zone,
const char *  netdevId,
struct in_addr *  addr,
int  prefix 
)
noexcept
VsmStatus Client::vsm_netdev_del_ipv6_addr ( const char *  zone,
const char *  netdevId,
struct in6_addr *  addr,
int  prefix 
)
noexcept
VsmStatus Client::vsm_netdev_down ( const char *  zone,
const char *  netdevId 
)
noexcept
See Also
vsm_netdev_down
VsmStatus Client::vsm_netdev_get_ip_addr ( const char *  zone,
const char *  netdevId,
std::vector< InetAddr > &  addrs 
)
noexcept
VsmStatus Client::vsm_netdev_get_ipv4_addr ( const char *  zone,
const char *  netdevId,
struct in_addr *  addr 
)
noexcept
VsmStatus Client::vsm_netdev_get_ipv6_addr ( const char *  zone,
const char *  netdevId,
struct in6_addr *  addr 
)
noexcept
VsmStatus Client::vsm_netdev_up ( const char *  zone,
const char *  netdevId 
)
noexcept
See Also
vsm_netdev_up
VsmStatus Client::vsm_remove_declaration ( const char *  zone,
VsmString  declaration 
)
noexcept
VsmStatus Client::vsm_revoke_device ( const char *  id,
const char *  device 
)
noexcept
VsmStatus Client::vsm_set_active_zone ( const char *  id)
noexcept
VsmStatus Client::vsm_set_dispatcher_type ( VsmDispacherType  dispacher)
noexcept
VsmStatus Client::vsm_shutdown_zone ( const char *  id)
noexcept
VsmStatus Client::vsm_start_zone ( const char *  id)
noexcept
See Also
vsm_start_zone
VsmStatus Client::vsm_unlock_queue ( )
noexcept
VsmStatus Client::vsm_unlock_zone ( const char *  id)
noexcept
See Also
vsm_unlock_zone
VsmStatus Client::vsm_zone_get_netdevs ( const char *  zone,
VsmArrayString netdevIds 
)
noexcept

Member Data Documentation

std::unique_ptr<cargo::ipc::Client> Client::mClient
private
std::unique_ptr<cargo::ipc::epoll::EventPoll> Client::mEventPoll
private
std::unique_ptr<cargo::ipc::epoll::ThreadDispatcher> Client::mInternalDispatcher
private
Status Client::mStatus
private
std::mutex Client::mStatusMutex
mutableprivate

The documentation for this class was generated from the following files: