00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifdef DOXYGEN
00023 #include <netlink/socket_group.h>
00024 NL_NAMESPACE_USE
00025 #endif
00026
00027
00035 inline void SocketGroup::add(Socket* socket) {
00036
00037 _vSocket.push_back(socket);
00038 }
00039
00049 inline Socket* SocketGroup::get(unsigned index) const {
00050
00051 if(index >= _vSocket.size())
00052 throw Exception(Exception::OUT_OF_RANGE, "SocketGroup::get: index out of range");
00053
00054 return _vSocket[index];
00055 }
00056
00065 inline void SocketGroup::remove(unsigned index) {
00066
00067 if(index >= _vSocket.size())
00068 throw Exception(Exception::OUT_OF_RANGE, "SocketGroup::remove: index out of range");
00069
00070 _vSocket.erase(_vSocket.begin() + index);
00071 }
00072
00079 inline size_t SocketGroup::size() const {
00080
00081 return _vSocket.size();
00082 }
00083
00092 inline void SocketGroup::setCmdOnAccept(SocketGroupCmd* cmd) {
00093
00094 _cmdOnAccept = cmd;
00095 }
00096
00105 inline void SocketGroup::setCmdOnRead(SocketGroupCmd* cmd) {
00106
00107 _cmdOnRead = cmd;
00108 }
00109
00119 inline void SocketGroup::setCmdOnDisconnect(SocketGroupCmd* cmd) {
00120
00121 _cmdOnDisconnect = cmd;
00122 }
00123