Follow the *actual* InitCheck() semantics, on Alan Westbrook suggestion.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8538 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin
2004-08-05 15:04:33 +00:00
parent 1d90c31ea2
commit 39a650c883
@@ -45,26 +45,29 @@
#include "PrintTransportAddOn.h" #include "PrintTransportAddOn.h"
class UsbPort : public BDataIO { class UsbPort : public BDataIO
public: {
UsbPort(BDirectory* printer, BMessage* msg); public:
~UsbPort(); UsbPort(BDirectory *printer, BMessage *msg);
~UsbPort();
bool InitCheck() { return fFile > -1; } status_t InitCheck() { return fFile > -1 ? B_OK : B_ERROR; };
ssize_t Read(void* buffer, size_t size); ssize_t Read(void *buffer, size_t size);
ssize_t Write(const void* buffer, size_t size); ssize_t Write(const void *buffer, size_t size);
private: private:
int fFile; int fFile;
}; };
// Implementation of transport add-on interface // Implementation of transport add-on interface
BDataIO* instanciate_transport(BDirectory* printer, BMessage* msg) { BDataIO *
UsbPort* transport = new UsbPort(printer, msg); instanciate_transport(BDirectory *printer, BMessage *msg)
if (transport->InitCheck()) {
UsbPort * transport = new UsbPort(printer, msg);
if (transport->InitCheck() == B_OK)
return transport; return transport;
delete transport; delete transport;
@@ -74,7 +77,7 @@ BDataIO* instanciate_transport(BDirectory* printer, BMessage* msg) {
// Implementation of UsbPort // Implementation of UsbPort
UsbPort::UsbPort(BDirectory* printer, BMessage *msg) UsbPort::UsbPort(BDirectory *printer, BMessage *msg)
: fFile(-1) : fFile(-1)
{ {
char device_id[USB_PRINTER_DEVICE_ID_LENGTH + 1]; char device_id[USB_PRINTER_DEVICE_ID_LENGTH + 1];
@@ -137,14 +140,14 @@ UsbPort::~UsbPort()
ssize_t ssize_t
UsbPort::Read(void* buffer, size_t size) UsbPort::Read(void *buffer, size_t size)
{ {
return read(fFile, buffer, size); return read(fFile, buffer, size);
} }
ssize_t ssize_t
UsbPort::Write(const void* buffer, size_t size) UsbPort::Write(const void *buffer, size_t size)
{ {
return write(fFile, buffer, size); return write(fFile, buffer, size);
} }