Rivendellaudio/lib/rdslotoptions.h
Fred Gleason 698b475933 2016-05-24 Fred Gleason <fredg@paravelsystems.com>
* Removed all CVS tags.
	* Removed 'const char *name' parameter from all QObject contructors.
2016-05-24 13:13:26 -04:00

66 lines
1.9 KiB
C++

// rdslotoptions.h
//
// Container class for RDCartSlot options
//
// (C) Copyright 2012,2016 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#ifndef RDSLOTOPTIONS_H
#define RDSLOTOPTIONS_H
#include <qstring.h>
class RDSlotOptions
{
public:
enum Mode {CartDeckMode=0,BreakawayMode=1,LastMode=2};
enum StopAction {UnloadOnStop=0,RecueOnStop=1,LoopOnStop=2,LastStop=3};
RDSlotOptions(const QString &stationname,unsigned slotno);
RDSlotOptions::Mode mode() const;
void setMode(RDSlotOptions::Mode mode);
bool hookMode() const;
void setHookMode(bool state);
RDSlotOptions::StopAction stopAction() const;
void setStopAction(RDSlotOptions::StopAction action);
int cartNumber() const;
void setCartNumber(int cart);
QString service() const;
void setService(const QString &str);
int card() const;
int inputPort() const;
int outputPort() const;
bool load();
void save() const;
void clear();
static QString modeText(RDSlotOptions::Mode mode);
static QString stopActionText(RDSlotOptions::StopAction action);
private:
Mode set_mode;
bool set_hook_mode;
StopAction set_stop_action;
int set_cart_number;
QString set_service;
int set_card;
int set_input_port;
int set_output_port;
QString set_stationname;
unsigned set_slotno;
};
#endif // RDSLOTOPTIONS_H