3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / add-ons / media / media-add-ons / usb_webcam / CamRoster.h
blob3ed5fd8044d5f12a65e38a6e2ac11b54e79ed109
1 /*
2 * Copyright 2004-2008, François Revol, <revol@free.fr>.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _CAM_ROSTER_H
6 #define _CAM_ROSTER_H
8 #include <image.h>
9 #include <List.h>
10 #include <Locker.h>
12 #include "CamDevice.h"
14 class WebCamMediaAddOn;
15 class CamDeviceAddon;
17 class CamRoster : public BUSBRoster {
18 public:
19 CamRoster(WebCamMediaAddOn* _addon);
20 virtual ~CamRoster();
21 virtual status_t DeviceAdded(BUSBDevice* _device);
22 virtual void DeviceRemoved(BUSBDevice* _device);
24 uint32 CountCameras();
25 bool Lock();
26 void Unlock();
27 // those must be called with Lock()
28 CamDevice* CameraAt(int32 index);
32 private:
33 status_t LoadInternalAddons();
34 status_t LoadExternalAddons();
36 BLocker fLocker;
37 WebCamMediaAddOn* fAddon;
38 BList fCamerasAddons;
39 BList fCameras;
42 #endif