Rivendellaudio/lib/rdclock.h
Fred Gleason c52c9b9f8a 2018-07-20 Fred Gleason <fredg@paravelsystems.com>
* Added an 'IMPORTER_LINES' table to the database.
	* Incremented the database version to 295.
	* Refactored the log importer code to use the static 'IMPORTER_LINES'
	table.
2018-07-20 19:24:11 -04:00

70 lines
2.0 KiB
C++

// rdclock.h
//
// Abstract a Rivendell Log Manager Clock
//
// (C) Copyright 2002-2004,2016-2018 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 RDCLOCK_H
#define RDCLOCK_H
#include <vector>
#include <rdevent_line.h>
#include <rdstation.h>
class RDClock
{
public:
RDClock(RDStation *station);
QString name() const;
void setName(const QString &name);
QString shortName() const;
void setShortName(const QString &name);
QColor color() const;
void setColor(const QColor &color);
QString remarks() const;
void setRemarks(const QString &str);
unsigned getArtistSep();
void setArtistSep(unsigned artist_sep);
bool getRulesModified();
void setRulesModified(bool modified);
RDEventLine *eventLine(int line);
void clear();
int size() const;
bool load();
bool save();
bool insert(const QString &event_name,int line);
void remove(int line);
void move(int from_line,int to_line);
bool validate(const QTime &start_time,int length,int except_line=-1);
bool generateLog(int hour,const QString &logname,const QString &svc_name,
QString *errors);
private:
QString clock_name;
QString clock_short_name;
QColor clock_color;
QString clock_remarks;
std::vector<RDEventLine> clock_events;
unsigned artistsep;
bool rules_modified;
RDStation *clock_station;
};
#endif // RDCLOCK_H