xref: /haiku/src/kits/media/TimeSourceObject.h (revision 0e21b167c923fa9d57cd68e29886d8431d4ba918)
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 
14 namespace BPrivate { namespace media {
15 
16 class TimeSourceObject : public BTimeSource
17 {
18 public:
19 	TimeSourceObject(media_node_id id);
20 
21 protected:
22 	virtual	status_t TimeSourceOp(
23 				const time_source_op_info & op,
24 				void * _reserved);
25 
26 	virtual	BMediaAddOn* AddOn(
27 				int32 * internal_id) const;
28 
29 	// override from BMediaNode
30 	virtual status_t DeleteHook(BMediaNode * node);
31 };
32 
33 class SystemTimeSourceObject : public TimeSourceObject
34 {
35 public:
36 	SystemTimeSourceObject(media_node_id id);
37 
38 protected:
39 	// override from BMediaNode
40 	virtual status_t DeleteHook(BMediaNode * node);
41 
42 };
43 
44 } } using namespace BPrivate::media;
45 
46 #endif
47