Confdump Agent
1.4.0
|
00001 /* 00002 * Confdump-Agent - Dump static and runtime system configuration 00003 * Copyright (C) 2009-2012 Straton IT, SAS 00004 * 00005 * This program is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License version 3 as 00007 * published by the Free Software Foundation. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00018 #ifndef INCLUDED_SYSTEM_LINUX_SOCKET_HPP 00019 #define INCLUDED_SYSTEM_LINUX_SOCKET_HPP 00020 00021 #include <vector> 00022 00023 #include "QString" 00024 00025 #include "boost/shared_ptr.hpp" 00026 00027 #include "Confdump/Result.hpp" 00028 #include "Confdump/System/ManagedElement.hpp" 00029 00030 namespace Confdump 00031 { 00032 00033 namespace System 00034 { 00035 00036 class LinuxDumper; 00037 00038 namespace Linux 00039 { 00040 00045 class Socket : public ManagedElement 00046 { 00047 Q_OBJECT 00048 Q_PROPERTY( QString inode READ inode WRITE setInode ) 00049 Q_PROPERTY( QString protocolName READ protocolName WRITE setProtocolName ) 00050 Q_PROPERTY( QString localAddressString READ localAddressString WRITE setLocalAddressString ) 00051 Q_PROPERTY( QString remoteAddressString READ remoteAddressString WRITE setRemoteAddressString ) 00052 Q_PROPERTY( QString stateString READ stateString WRITE setStateString ) 00053 00054 public: 00055 Socket(); 00056 virtual ~Socket(); 00057 00058 QString inode() const { return inode_; } 00059 QString protocolName() const; 00060 QString localAddressString() const; 00061 QString remoteAddressString() const; 00062 QString stateString() const; 00063 00064 static std::vector< boost::shared_ptr< Socket > > allSystemInstances( boost::shared_ptr<LinuxDumper> driver, QString protocolName ); 00065 00066 private: 00067 void setInode( QString inode ) { inode_ = inode; } 00068 void setProtocolName( QString protocolName ); 00069 void setLocalAddressString( QString localAddressString ); 00070 void setRemoteAddressString( QString remoteAddressString ); 00071 void setStateString( QString stateString ); 00072 00073 QString inode_; 00074 QString protocolName_, localAddressString_, remoteAddressString_, stateString_; 00075 }; 00076 00077 } 00078 } 00079 } 00080 00081 #endif /* INCLUDED_SYSTEM_LINUX_SOCKET_HPP */