mirror of
				https://github.com/ElvishArtisan/rivendell.git
				synced 2025-11-03 23:53:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// rdmacro_event.h
 | 
						|
//
 | 
						|
// A container class for a list of RML macros.
 | 
						|
//
 | 
						|
//   (C) Copyright 2002-2003,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 RDMACRO_EVENT_H
 | 
						|
#define RDMACRO_EVENT_H
 | 
						|
 | 
						|
#include <vector>
 | 
						|
 | 
						|
#include <qobject.h>
 | 
						|
#include <qtimer.h>
 | 
						|
#include <qhostaddress.h>
 | 
						|
#include <qdatetime.h>
 | 
						|
 | 
						|
#include <rdmacro.h>
 | 
						|
#include <rdripc.h>
 | 
						|
 | 
						|
class RDMacroEvent : public QObject
 | 
						|
{
 | 
						|
  Q_OBJECT
 | 
						|
 public:
 | 
						|
  RDMacroEvent(RDRipc *ripc=0,QObject *parent=0,const char *name=0);
 | 
						|
  RDMacroEvent(QHostAddress addr,RDRipc *ripc=0,
 | 
						|
	       QObject *parent=0,const char *name=0);
 | 
						|
  ~RDMacroEvent();
 | 
						|
  int line() const;
 | 
						|
  void setLine(int line);
 | 
						|
  QTime startTime() const;
 | 
						|
  void setStartTime(QTime time);
 | 
						|
  RDMacro *command(int line);
 | 
						|
  int size() const;
 | 
						|
  unsigned length() const;
 | 
						|
  bool load(const QString &str);
 | 
						|
  bool load(unsigned cartnum);
 | 
						|
  QString save();
 | 
						|
  void insert(int line,const RDMacro *cmd);
 | 
						|
  void remove(int line);
 | 
						|
  void move(int from_line,int to_line);
 | 
						|
  void copy(int from_line,int to_line);
 | 
						|
  void clear();
 | 
						|
 | 
						|
 public slots:
 | 
						|
  void exec();
 | 
						|
  void exec(int line);
 | 
						|
  void stop();
 | 
						|
 | 
						|
 signals:
 | 
						|
  void started();
 | 
						|
  void started(int line);
 | 
						|
  void finished();
 | 
						|
  void finished(int line);
 | 
						|
  void stopped();
 | 
						|
 | 
						|
 private slots:
 | 
						|
  void sleepTimerData();
 | 
						|
 | 
						|
 private:
 | 
						|
  void ExecList(int line);
 | 
						|
  std::vector<RDMacro *> event_cmds;
 | 
						|
  RDRipc *event_ripc;
 | 
						|
  QTimer *event_sleep_timer;
 | 
						|
  bool event_whole_list;
 | 
						|
  unsigned event_sleeping_line;
 | 
						|
  QHostAddress event_address;
 | 
						|
  int event_line;
 | 
						|
  QTime event_start_time;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
#endif  // RDMACRO_EVENT_H
 |