1/* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Copyright 2008-2009, Axel Dörfler, axeld@pinc-software.de. 4 * Distributed under the terms of the MIT License. 5 */ 6 7 8#include "AbstractModuleDevice.h" 9 10 11AbstractModuleDevice::AbstractModuleDevice() 12 : 13 fNode(NULL), 14 fInitialized(0), 15 fDeviceModule(NULL), 16 fDeviceData(NULL) 17{ 18} 19 20 21AbstractModuleDevice::~AbstractModuleDevice() 22{ 23} 24 25 26bool 27AbstractModuleDevice::HasSelect() const 28{ 29 return Module()->select != NULL; 30} 31 32 33bool 34AbstractModuleDevice::HasDeselect() const 35{ 36 return Module()->deselect != NULL; 37} 38 39 40bool 41AbstractModuleDevice::HasRead() const 42{ 43 return Module()->read != NULL; 44} 45 46 47bool 48AbstractModuleDevice::HasWrite() const 49{ 50 return Module()->write != NULL; 51} 52 53 54bool 55AbstractModuleDevice::HasIO() const 56{ 57 return Module()->io != NULL; 58} 59 60 61status_t 62AbstractModuleDevice::Open(const char* path, int openMode, void** _cookie) 63{ 64 return Module()->open(Data(), path, openMode, _cookie); 65} 66 67 68status_t 69AbstractModuleDevice::Read(void* cookie, off_t pos, void* buffer, size_t* _length) 70{ 71 return Module()->read(cookie, pos, buffer, _length); 72} 73 74 75status_t 76AbstractModuleDevice::Write(void* cookie, off_t pos, const void* buffer, size_t* _length) 77{ 78 return Module()->write(cookie, pos, buffer, _length); 79} 80 81 82status_t 83AbstractModuleDevice::IO(void* cookie, io_request* request) 84{ 85 return Module()->io(cookie, request); 86} 87 88 89status_t 90AbstractModuleDevice::Control(void* cookie, int32 op, void* buffer, size_t length) 91{ 92 return Module()->control(cookie, op, buffer, length); 93} 94 95 96status_t 97AbstractModuleDevice::Select(void* cookie, uint8 event, selectsync* sync) 98{ 99 return Module()->select(cookie, event, sync); 100} 101 102 103status_t 104AbstractModuleDevice::Deselect(void* cookie, uint8 event, selectsync* sync) 105{ 106 return Module()->deselect(cookie, event, sync); 107} 108 109 110status_t 111AbstractModuleDevice::Close(void* cookie) 112{ 113 return Module()->close(cookie); 114} 115 116 117status_t 118AbstractModuleDevice::Free(void* cookie) 119{ 120 return Module()->free(cookie); 121} 122