summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/cable/cablerun.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/cable/cablerun.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/cable/cablerun.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/noncore/settings/networksettings2/cable/cablerun.cpp b/noncore/settings/networksettings2/cable/cablerun.cpp
new file mode 100644
index 0000000..edb4b01
--- a/dev/null
+++ b/noncore/settings/networksettings2/cable/cablerun.cpp
@@ -0,0 +1,26 @@
+#include <fcntl.h>
+#include <unistd.h>
+#include "cablerun.h"
+
+void CableRun::detectState( NodeCollection * NC ) {
+
+ int fd = open( D->Device.latin1(), O_RDWR );
+
+ if( fd < 0 ) {
+ NC->setCurrentState( Unavailable );
+ }
+ close( fd );
+ NC->setCurrentState( Available );
+}
+
+bool CableRun::setState( NodeCollection * NC, Action_t A ) {
+ if( A == Activate ) {
+ detectState(NC);
+ return (NC->currentState() == Available);
+ }
+ return 1;
+}
+
+bool CableRun::canSetState( State_t , Action_t ) {
+ return 1;
+}