Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vasum::netlink::NetlinkMessage Class Reference

NetlinkMessage is used to creatie a netlink messages. More...

#include <netlink-message.hpp>

Public Member Functions

 NetlinkMessage (std::uint16_t type, std::uint16_t flags)
 Create netlink message. More...
 
NetlinkMessagebeginNested (int ifla)
 Add nested atribute type. More...
 
NetlinkMessageendNested ()
 End nested atribute. More...
 
template<class T >
NetlinkMessageput (const T &value)
 Add raw data. More...
 
NetlinkMessageput (int ifla, const std::string &value)
 
template<class T >
NetlinkMessageput (int ifla, const T &value)
 

Private Member Functions

NetlinkMessageput (int ifla, const void *data, int len)
 
NetlinkMessageput (const void *data, int len)
 
nlmsghdr & hdr ()
 
const nlmsghdr & hdr () const
 
void setMinCapacity (unsigned int size)
 

Private Attributes

std::vector< char > mNlmsg
 
std::stack< int > mNested
 

Friends

NetlinkResponse send (const NetlinkMessage &msg, int pid)
 Send netlink message. More...
 

Detailed Description

NetlinkMessage is used to creatie a netlink messages.

Constructor & Destructor Documentation

vasum::netlink::NetlinkMessage::NetlinkMessage ( std::uint16_t  type,
std::uint16_t  flags 
)

Create netlink message.

Parameters
typertnetlink message type (see man 7 rtnetlink)
flagsnlmsg flags (see man 7 netlink)

Member Function Documentation

NetlinkMessage & vasum::netlink::NetlinkMessage::beginNested ( int  ifla)

Add nested atribute type.

All future attributes will be nested in this attribute (till call to endNested)

Parameters
iflaattribute name
NetlinkMessage & vasum::netlink::NetlinkMessage::endNested ( )

End nested atribute.

nlmsghdr & vasum::netlink::NetlinkMessage::hdr ( )
private
const nlmsghdr & vasum::netlink::NetlinkMessage::hdr ( ) const
private
NetlinkMessage & vasum::netlink::NetlinkMessage::put ( int  ifla,
const std::string &  value 
)
template<class T >
NetlinkMessage & vasum::netlink::NetlinkMessage::put ( int  ifla,
const T &  value 
)
template<class T >
NetlinkMessage & vasum::netlink::NetlinkMessage::put ( const T &  value)

Add raw data.

Add raw data to end of netlink message

NetlinkMessage & vasum::netlink::NetlinkMessage::put ( int  ifla,
const void *  data,
int  len 
)
private
NetlinkMessage & vasum::netlink::NetlinkMessage::put ( const void *  data,
int  len 
)
private
void vasum::netlink::NetlinkMessage::setMinCapacity ( unsigned int  size)
private

Friends And Related Function Documentation

NetlinkResponse send ( const NetlinkMessage msg,
int  pid 
)
friend

Send netlink message.

It is not thread safe

Parameters
msgNetlink message
pidProcess id which describes network namespace

Member Data Documentation

std::stack<int> vasum::netlink::NetlinkMessage::mNested
private
std::vector<char> vasum::netlink::NetlinkMessage::mNlmsg
private

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