xref: /haiku/src/kits/media/TimeSourceObject.h (revision e5430a086c769ea76c3944046b1f07cf049c1ae0)
1 /***********************************************************************
2  * Copyright (c) 2002 Marcus Overhagen. All Rights Reserved.
3  * This file may be used under the terms of the OpenBeOS License.
4  *
5  * The object returned by BMediaRoster's
6  * BTimeSource * MakeTimeSourceFor(const media_node & for_node);
7  *
8  ***********************************************************************/
9 #ifndef _TIME_SOURCE_OBJECT_H_
10 #define _TIME_SOURCE_OBJECT_H_
11 
12 #include <TimeSource.h>
13 #include "MediaMisc.h"
14 
15 namespace BPrivate { namespace media {
16 
17 class TimeSourceObject : public BTimeSource
18 {
19 public:
20 	TimeSourceObject(const media_node &node);
21 
22 protected:
23 	virtual	status_t TimeSourceOp(
24 				const time_source_op_info & op,
25 				void * _reserved);
26 
27 	virtual	BMediaAddOn* AddOn(
28 				int32 * internal_id) const;
29 
30 	// override from BMediaNode
31 	virtual status_t DeleteHook(BMediaNode * node);
32 };
33 
34 class SystemTimeSourceObject : public TimeSourceObject
35 {
36 public:
37 	SystemTimeSourceObject(const media_node &node);
38 
39 protected:
40 	// override from BMediaNode
41 	virtual status_t DeleteHook(BMediaNode * node);
42 
43 };
44 
45 } } using namespace BPrivate::media;
46 
47 #endif
48