1 /* 2 * Copyright 2016, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef TARGET_HOST_INTERFACE_INFO_H 6 #define TARGET_HOST_INTERFACE_INFO_H 7 8 #include <String.h> 9 10 #include <Referenceable.h> 11 #include <util/DoublyLinkedList.h> 12 13 14 class Settings; 15 class SettingsDescription; 16 class TargetHostInterface; 17 18 19 class TargetHostInterfaceInfo : public BReferenceable { 20 public: 21 TargetHostInterfaceInfo(const BString& name); 22 virtual ~TargetHostInterfaceInfo(); 23 Name()24 const BString& Name() const { return fName; } 25 26 virtual status_t Init() = 0; 27 28 virtual bool IsLocal() const = 0; 29 virtual bool IsConfigured(Settings* settings) const = 0; 30 virtual SettingsDescription* GetSettingsDescription() const = 0; 31 32 virtual status_t CreateInterface(Settings* settings, 33 TargetHostInterface*& _interface) const 34 = 0; 35 36 private: 37 BString fName; 38 }; 39 40 #endif // TARGET_HOST_INTERFACE_INFO_H 41