summaryrefslogtreecommitdiff
path: root/src/devreader-linux.cpp
blob: 85824cdbdddd004e79d2e18524569b9a2211b6e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   * 
 *                                                                         *
 ***************************************************************************/

#include "devreader-linux.h"
#include "devreader-linux-proc.h"
#include "devreader-linux-sys.h"

#include <string>
#include <list>

#include <stdexcept>

using namespace std;

bool DevReaderLinux::isAvailable()
{
    return DevReaderLinuxSys::isAvailable() || DevReaderLinuxProc::isAvailable();
}

list<string> DevReaderLinux::findAllDevices()
{
    if(DevReaderLinuxSys::isAvailable())
        return DevReaderLinuxSys::findAllDevices();
    else if(DevReaderLinuxProc::isAvailable())
        return DevReaderLinuxProc::findAllDevices();
    else
        throw std::runtime_error("neither sysfs nor proc is available");
}