// // Copyright 2005 The Android Open Source Project // // Our collection of devices. // #ifndef _SIM_PHONE_COLLECTION_H #define _SIM_PHONE_COLLECTION_H #include <stdlib.h> #include "PhoneData.h" /* * Only one instance of this class exists. It contains a list of all * known devices, and methods for scanning for devices. */ class PhoneCollection { public: /* get the global instance */ static PhoneCollection* GetInstance(void) { if (mpInstance == NULL) mpInstance = new PhoneCollection; return mpInstance; } /* destroy the global instance when shutting down */ static void DestroyInstance(void) { delete mpInstance; mpInstance = NULL; } /* scan for phones in subdirectories of "directory" */ void ScanForPhones(const char* directory); /* get phone data */ int GetPhoneCount(void) const { return mPhoneList.size(); } // slow PhoneData* GetPhoneData(int idx); PhoneData* GetPhoneData(const char* name); /* layout.xml filename -- a string constant used in various places */ static const char* kLayoutFile; private: PhoneCollection(void) {} ~PhoneCollection(void) {} /* the phone data; make this a Vector someday */ android::List<PhoneData> mPhoneList; /* storage for global instance pointer */ static PhoneCollection* mpInstance; }; #endif // _SIM_PHONE_COLLECTION_H