summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/simclockinterface.h
blob: 87ebad9988064a78425d4b578cf5f0ddec90d7f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/***************************************************************************
                          simclockinterface.h  -  description
                             -------------------
    begin                : Mon Feb 18 2002
    copyright          : (C) 2002 by Mark Hollomon
    email                : mhh@mindspring.com
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef KSTARS_SIMCLOCKIF_H_
#define KSTARS_SIMCLOCKIF_H_

#include <dcopobject.h>

#include "kstarsdatetime.h"

/**@class SimclockInterface
	*DCOP functions for the KSTars simulation clock.
	*@author Mark Hollomon
	*@version 1.0
	*/

class SimClockInterface : virtual public DCOPObject {
	K_DCOP

	k_dcop:
		/**Stop the clock
			*/
		virtual ASYNC stop() = 0;
		
		/**Start the clock
			*/
		virtual ASYNC start() = 0;
		
		/**Set the clock to the given ExtDateTime value.
			*@p newtime the time/date to adopt
			*/
		virtual ASYNC setUTC(const KStarsDateTime &newtime) = 0;
		
		/**Set the clock scale (the number of simulation seconds that 
			*pass per real-time second.
			*@p s the new timescale factor
			*/
		virtual ASYNC setClockScale(float s) = 0;
};

#endif