55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
/*
|
|
* Copyright 2008, Haiku. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* Ithamar R. Adema
|
|
*/
|
|
#ifndef TRANSPORT_H
|
|
#define TRANSPORT_H
|
|
|
|
class Transport;
|
|
|
|
#include <FindDirectory.h>
|
|
#include <Handler.h>
|
|
#include <String.h>
|
|
#include <Path.h>
|
|
|
|
#include <ObjectList.h>
|
|
|
|
class Transport : public BHandler
|
|
{
|
|
typedef BHandler Inherited;
|
|
public:
|
|
Transport(const BPath& path);
|
|
~Transport();
|
|
|
|
BString Name() const { return fPath.Leaf(); }
|
|
|
|
status_t ListAvailablePorts(BMessage* msg);
|
|
|
|
static status_t Scan(directory_which which);
|
|
|
|
static Transport* Find(const BString& name);
|
|
static void Remove(Transport* transport);
|
|
static Transport* At(int32 idx);
|
|
static int32 CountTransports();
|
|
|
|
void MessageReceived(BMessage* msg);
|
|
|
|
// Scripting support, see Printer.Scripting.cpp
|
|
status_t GetSupportedSuites(BMessage* msg);
|
|
void HandleScriptingCommand(BMessage* msg);
|
|
BHandler* ResolveSpecifier(BMessage* msg, int32 index, BMessage* spec,
|
|
int32 form, const char* prop);
|
|
|
|
private:
|
|
BPath fPath;
|
|
long fImageID;
|
|
int fFeatures;
|
|
|
|
static BObjectList<Transport> sTransports;
|
|
};
|
|
|
|
#endif
|