48 lines
846 B
C++
48 lines
846 B
C++
/*
|
|
* Copyright 2002 Marcus Overhagen. All Rights Reserved.
|
|
* This file may be used under the terms of the MIT License.
|
|
*/
|
|
#ifndef TIME_SOURCE_OBJECT_MANAGER_H
|
|
#define TIME_SOURCE_OBJECT_MANAGER_H
|
|
|
|
|
|
#include <map>
|
|
|
|
#include <Locker.h>
|
|
#include <MediaDefs.h>
|
|
|
|
|
|
class BTimeSource;
|
|
|
|
|
|
namespace BPrivate {
|
|
namespace media {
|
|
|
|
|
|
class TimeSourceObjectManager : BLocker {
|
|
public:
|
|
TimeSourceObjectManager();
|
|
~TimeSourceObjectManager();
|
|
|
|
BTimeSource* GetTimeSource(const media_node& node);
|
|
void ObjectDeleted(BTimeSource* timeSource);
|
|
|
|
private:
|
|
typedef std::map<media_node_id, BTimeSource*> NodeMap;
|
|
|
|
NodeMap fMap;
|
|
};
|
|
|
|
|
|
extern TimeSourceObjectManager* gTimeSourceObjectManager;
|
|
|
|
|
|
} // namespace media
|
|
} // namespace BPrivate
|
|
|
|
|
|
using BPrivate::media::gTimeSourceObjectManager;
|
|
|
|
|
|
#endif // _TIME_SOURCE_OBJECT_MANAGER_H_
|