1 /* 2 * This file is a part of BeOS USBVision driver project. 3 * Copyright (c) 2003 by Siarzuk Zharski <imker@gmx.li> 4 * 5 * This file may be used under the terms of the BSD License 6 * 7 */ 8 #ifndef _TUNER_LOCALE_H_ 9 #define _TUNER_LOCALE_H_ 10 11 #include <string> 12 #include <vector> 13 #include <Entry.h> 14 15 namespace Locale{ 16 17 class Channel 18 { 19 string fName; 20 uint32 fFrequency; 21 public: 22 Channel(string &str, uint32 frequency); 23 const string &Name() const; 24 const uint32 Frequency(); 25 }; 26 27 typedef vector<Channel> Channels; 28 typedef vector<Channel>::iterator ChannelsIterator; 29 30 class TunerLocale 31 { 32 status_t fStatus; 33 string fName; 34 Channels fChannels; 35 TunerLocale(BEntry &entry); 36 status_t LoadLocale(const char *file); 37 public: 38 ~TunerLocale(); 39 static status_t LoadLocales(vector<TunerLocale *> &vector); 40 static status_t ReleaseLocales(vector<TunerLocale *> &vector); 41 status_t InitCheck(); 42 const string &Name(); 43 const Channel &GetChannel(int idx); 44 uint32 ChannelsCount(); 45 }; 46 47 typedef vector<TunerLocale *> Locales; 48 typedef vector<TunerLocale *>::iterator LocalesIterator; 49 50 } //namespace Locale 51 52 #endif//_TUNER_LOCALE_H_ 53