53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
//
|
|
// 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
|