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 #define NODE_KIND_USER_MASK 0x00000000FFFFFFFFLL 15 #define NODE_KIND_SHADOW_TIMESOURCE 0x0000000100000000LL 16 #define NODE_KIND_SYSTEM_TIMESOURCE 0x0000000200000000LL 17 18 namespace BPrivate { namespace media { 19 20 class TimeSourceObject : public BTimeSource 21 { 22 public: 23 TimeSourceObject(const media_node &node); 24 25 protected: 26 virtual status_t TimeSourceOp( 27 const time_source_op_info & op, 28 void * _reserved); 29 30 virtual BMediaAddOn* AddOn( 31 int32 * internal_id) const; 32 33 // override from BMediaNode 34 virtual status_t DeleteHook(BMediaNode * node); 35 }; 36 37 class SystemTimeSourceObject : public TimeSourceObject 38 { 39 public: 40 SystemTimeSourceObject(const media_node &node); 41 42 protected: 43 // override from BMediaNode 44 virtual status_t DeleteHook(BMediaNode * node); 45 46 }; 47 48 } } using namespace BPrivate::media; 49 50 #endif 51