mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-07 01:13:50 +02:00
* Added a 'SERVICES.INCLUDE_IMPORT_MARKERS' field to the database. * Added a 'LOGS.INCLUDE_IMPORT_MARKERS' field to the database. * Incremented the database version to 301. * Added an 'Inlcude Import Markers in Finished Logs' checkbox to the 'Edit Service' dialog in rdadmin(1).
104 lines
3.8 KiB
C++
104 lines
3.8 KiB
C++
// rdlog.h
|
|
//
|
|
// Abstract a Rivendell Log
|
|
//
|
|
// (C) Copyright 2002-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 RDLOG_H
|
|
#define RDLOG_H
|
|
|
|
#include <rdconfig.h>
|
|
#include <rdlog_event.h>
|
|
#include <rduser.h>
|
|
#include <rdstation.h>
|
|
|
|
class RDLog
|
|
{
|
|
public:
|
|
enum Type {Log=0,Event=1,Clock=2,Grid=3};
|
|
enum Source {SourceTraffic=0,SourceMusic=1};
|
|
enum LinkState {LinkMissing=0,LinkDone=1,LinkNotPresent=2};
|
|
RDLog(const QString &name);
|
|
QString name() const;
|
|
bool exists() const;
|
|
bool logExists() const;
|
|
void setLogExists(bool state) const;
|
|
RDLog::Type type() const;
|
|
void setType(RDLog::Type type) const;
|
|
QString description() const;
|
|
void setDescription(const QString &desc) const;
|
|
QString service() const;
|
|
void setService(const QString &svc) const;
|
|
QDate startDate() const;
|
|
void setStartDate(const QDate &date) const;
|
|
QDate endDate() const;
|
|
void setEndDate(const QDate &date) const;
|
|
QDate purgeDate() const;
|
|
void setPurgeDate(const QDate &date) const;
|
|
QString originUser() const;
|
|
void setOriginUser(const QString &user) const;
|
|
QDateTime originDatetime() const;
|
|
void setOriginDatetime(const QDateTime &datetime) const;
|
|
QDateTime linkDatetime() const;
|
|
void setLinkDatetime(const QDateTime &datetime) const;
|
|
QDateTime modifiedDatetime() const;
|
|
void setModifiedDatetime(const QDateTime &datetime) const;
|
|
bool autoRefresh() const;
|
|
void setAutoRefresh(bool state) const;
|
|
unsigned scheduledTracks() const;
|
|
void setScheduledTracks(unsigned tracks) const;
|
|
unsigned completedTracks() const;
|
|
void setCompletedTracks(unsigned tracks) const;
|
|
bool includeImportMarkers() const;
|
|
void setIncludeImportMarkers(bool state);
|
|
int linkQuantity(RDLog::Source src) const;
|
|
void setLinkQuantity(RDLog::Source src,int quan) const;
|
|
void updateLinkQuantity(RDLog::Source src) const;
|
|
RDLog::LinkState linkState(RDLog::Source src) const;
|
|
void setLinkState(RDLog::Source src,bool state) const;
|
|
int nextId() const;
|
|
void setNextId(int id) const;
|
|
bool isReady() const;
|
|
bool remove(RDStation *station,RDUser *user,RDConfig *config) const;
|
|
void updateTracks();
|
|
int removeTracks(RDStation *station,RDUser *user,RDConfig *config) const;
|
|
RDLogEvent *createLogEvent() const;
|
|
QString xml() const;
|
|
static bool create(const QString &name,const QString &svc_name,
|
|
const QDate &air_date,const QString &user_name,
|
|
QString *err_msg,RDConfig *config);
|
|
static bool exists(const QString &name);
|
|
static bool remove(const QString &name,RDStation *station,RDUser *user,
|
|
RDConfig *config);
|
|
|
|
private:
|
|
int GetIntValue(const QString &field) const;
|
|
unsigned GetUnsignedValue(const QString &field) const;
|
|
QString GetStringValue(const QString &field) const;
|
|
QDate GetDateValue(const QString &field) const;
|
|
QDateTime GetDatetimeValue(const QString &field) const;
|
|
void SetRow(const QString ¶m,int value) const;
|
|
void SetRow(const QString ¶m,unsigned value) const;
|
|
void SetRow(const QString ¶m,const QString &value) const;
|
|
void SetRow(const QString ¶m,const QDate &value) const;
|
|
void SetRow(const QString ¶m,const QDateTime &value) const;
|
|
QString log_name;
|
|
};
|
|
|
|
|
|
#endif // RDLOG_H
|