1/* 2 * Copyright 2015, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef TEAM_SIGNAL_SETTINGS_H 6#define TEAM_SIGNAL_SETTINGS_H 7 8#include <Message.h> 9 10#include "SignalDispositionTypes.h" 11 12 13class TeamSignalSettings { 14public: 15 TeamSignalSettings(); 16 virtual ~TeamSignalSettings(); 17 18 TeamSignalSettings& 19 operator=( 20 const TeamSignalSettings& other); 21 // throws std::bad_alloc; 22 23 const char* ID() const; 24 status_t SetTo(const BMessage& archive); 25 status_t WriteTo(BMessage& archive) const; 26 void Unset(); 27 28 void SetDefaultSignalDisposition(int32 disposition); 29 int32 DefaultSignalDisposition() const; 30 31 int32 CountCustomSignalDispositions() const; 32 status_t AddCustomSignalDisposition(int32 signal, 33 int32 disposition); 34 status_t RemoveCustomSignalDispositionAt(int32 index); 35 status_t GetCustomSignalDispositionAt(int32 index, 36 int32& signal, int32& disposition) const; 37 38 virtual TeamSignalSettings* 39 Clone() const; 40 41private: 42 BMessage fValues; 43}; 44 45 46#endif // TEAM_SIGNAL_SETTINGS_H 47