Exemple #1
0
/**
 * Test maPimItemRemoveValue syscall.
 */
void AppMoblet::testMaPimItemRemoveValue()
{
    printf("\n=========Test maPimItemRemoveValue syscall=======");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle item = maPimItemCreate(list);
    printResultCode(item);
    PIMContact* contact = new PIMContact(item);

    printf("\nTest syscalls with invalid item handle");
    printResultCode(maPimItemRemoveValue(555, 0, 0));

    printf("\nTest syscalls with invalid field id");
    printResultCode(maPimItemRemoveValue(item, 19191, 0));

    printf("\nTest syscall with unsupported field id");
    printResultCode(maPimItemRemoveValue(item, MA_PIM_FIELD_CONTACT_CLASS, 0));

    printf("\nTest syscall with invalid value index - empty field");
    printResultCode(maPimItemRemoveValue(item, MA_PIM_FIELD_CONTACT_ADDR, 0));
    waitForClick();

    printf("\nTest syscall with invalid value index - field not empty");
    contact->addAddress();
    printResultCode(maPimItemRemoveValue(item, MA_PIM_FIELD_CONTACT_ADDR, 100));
    waitForClick();

    printf("\nTest syscall with valid parameters");
    printResultCode(maPimItemRemoveValue(item, MA_PIM_FIELD_CONTACT_ADDR, 1));

    delete contact;
    maPimItemRemove(list, item);
    maPimListClose(list);
    waitForClick();
}
Exemple #2
0
/**
 * Modify an existing contact.
 */
void AppMoblet::modifyContact()
{
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    MAHandle item = maPimListNext(list);
    PIMContact* contact = new PIMContact(item);
    contact->modifyAddressField();
    maPimItemClose(item);
    maPimListClose(list);
}
Exemple #3
0
/**
 * Test maPimItemGetValue syscall.
 */
void AppMoblet::testMaPimItemGetValue()
{
    printf("\n=========Test maPimItemGetValue syscall=======");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle item = maPimItemCreate(list);
    printResultCode(item);
    PIMContact* contact = new PIMContact(item);

    MA_PIM_ARGS args;
    char buf[1024];
    args.buf = buf;
    args.bufSize = 1024;

    printf("\nTest syscalls with invalid item handle");
    args.item = 1234;
    printResultCode(maPimItemGetValue(&args, 0));

    printf("\nTest syscalls with invalid field id");
    args.item = item;
    args.field = 696;
    printResultCode(maPimItemGetValue(&args, 0));

    printf("\nTest syscall with unsupported field id");
    args.field = MA_PIM_FIELD_CONTACT_CLASS;
    printResultCode(maPimItemGetValue(&args, 0));

    printf("\nTest syscall with invalid value index - empty field");
    args.field = MA_PIM_FIELD_CONTACT_ADDR;
    printResultCode(maPimItemGetValue(&args, 0));
    waitForClick();

    printf("\nTest syscall with invalid value index - field not empty");
    contact->addAddress();
    printResultCode(maPimItemGetValue(&args, 15));
    waitForClick();

    printf("\nTest syscall for a write only field");
    args.field = MA_PIM_FIELD_CONTACT_PHOTO_URL;
    printResultCode(maPimItemGetValue(&args, 0));
    waitForClick();

    printf("\nTest syscall with invalid buf size.");
    args.field = MA_PIM_FIELD_CONTACT_ADDR;
    args.bufSize = 20;
    printResultCode(maPimItemGetValue(&args, 0));

    printf("\nTest syscall with valid parameters.");
    args.bufSize = 1024;
    printResultCode(maPimItemGetValue(&args, 0));

    delete contact;
    maPimItemRemove(list, item);
    maPimListClose(list);
    waitForClick();
}
Exemple #4
0
/**
 * Test maPimItemSetLabel syscall.
 */
void AppMoblet::testMaPimItemSetLabel()
{
    printf("\n===========Test maPimItemSetLabel syscall===========");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle item = maPimItemCreate(list);
    printResultCode(item);

    MA_PIM_ARGS args;
    char buf[1024];
    args.buf = buf;
    args.bufSize = 1024;

    printf("\nTest with invalid item handle");
    args.item = 323;
    printResultCode(maPimItemSetLabel(&args, 1));

    printf("\nTest with invalid field");
    args.item = item;
    args.field = 12333;
    printResultCode(maPimItemSetLabel(&args, 1));

    printf("\nTest with unsupported field");
    args.field = MA_PIM_FIELD_CONTACT_CLASS;
    printResultCode(maPimItemSetLabel(&args, 1));

    printf("\nTest with invalid value index and empty field");
    args.field = MA_PIM_FIELD_CONTACT_ADDR;
    printResultCode(maPimItemSetLabel(&args, 1));
    waitForClick();

    printf("\nTest with invalid value index and field is not empty");
    PIMContact* contact = new PIMContact(item);
    contact->addAddress();
    printResultCode(maPimItemSetLabel(&args, 5));
    waitForClick();

    printf("\nTest with a valid field, but value's attribute is not custom");
    printResultCode(maPimItemSetLabel(&args, 0));

    printf("\nTest with a valid field and value's attribute is custom");
    // Write value to buffer.
    args.bufSize = writeWCharArraysToBuf(args.buf, sAddressHome,
        COUNT_ADDRESS_INDICES);
    int index = maPimItemAddValue(&args, MA_PIM_ATTR_ADDR_CUSTOM);

    args.bufSize = copyWCharArray(args.buf, L"My label");
    printResultCode(maPimItemSetLabel(&args, index));

    maPimItemRemove(list, item);
    maPimListClose(list);
    waitForClick();
}
Exemple #5
0
/**
 * Test maPimItemAddValue syscall.
 */
void AppMoblet::testMaPimItemAddValue()
{
    printf("\n=========Test maPimItemAddValue syscall=======");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle item = maPimItemCreate(list);
    printResultCode(item);

    MA_PIM_ARGS args;
    char buf[1024];
    args.buf = buf;
    args.bufSize = 1024;

    printf("\nTest syscall with invalid item handle");
    args.item = 1234;
    printResultCode(maPimItemAddValue(&args, 0));

    printf("\nTest syscall with invalid field id");
    args.item = item;
    args.field = 696;
    printResultCode(maPimItemAddValue(&args, 0));

    printf("\nTest syscall with unsupported field id");
    args.field = MA_PIM_FIELD_CONTACT_CLASS;
    printResultCode(maPimItemAddValue(&args, 0));

    printf("\nTest syscall for a read only field");
    args.field = MA_PIM_FIELD_CONTACT_REVISION;
    printResultCode(maPimItemAddValue(&args, MA_PIM_ATTR_ADDR_WORK));

    printf("\nTest syscall with invalid attribute");
    args.field = MA_PIM_FIELD_CONTACT_ADDR;
    writeWCharArraysToBuf(args.buf, sAddressHome, 8);
    printResultCode(maPimItemAddValue(&args, 9099));

    printf("\nTest syscall with attribute from another field");
    printResultCode(maPimItemAddValue(&args, MA_PIM_ATTR_RELATION_BROTHER));

    printf("\nTest syscall with invalid buffer size");
    writeWCharArraysToBuf(args.buf, sAddressHome, 8);
    args.bufSize = 10;
    printResultCode(maPimItemAddValue(&args, MA_PIM_ATTR_ADDR_HOME));

    printf("\nTest syscall with valid parameters.");
    args.bufSize = writeWCharArraysToBuf(args.buf, sAddressHome, 8);
    printResultCode(maPimItemAddValue(&args, MA_PIM_ATTR_ADDR_WORK));

    maPimItemRemove(list, item);
    maPimListClose(list);
    waitForClick();
}
Exemple #6
0
/**
 * Test maPimItemClose syscall.
 */
void AppMoblet::testMaPimItemClose()
{
    printf("\n===========Test maPimItemClose syscall===========");

    printf("\nTest with invalid item handle");
    printResultCode(maPimItemClose(500));

    printf("\nTest with valid item handle, but list is closed");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle newItem = maPimItemCreate(list);
    maPimListClose(list);
    printResultCode(maPimItemClose(newItem));

    printf("\nTest with valid item handle and list is opened");
    list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    newItem = maPimItemCreate(list);
    printResultCode(newItem);
    printResultCode(maPimItemClose(newItem));

    maPimListClose(list);
    waitForClick();
}
Exemple #7
0
/**
 * Test maPimItemRemove syscall.
 */
void AppMoblet::deleteAllContactsFromAddressBook()
{
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    while(true)
    {
        MAHandle item = maPimListNext(list);
        if (item != 0)
        {
            maPimItemRemove(list, item);
        }
        else
        {
            break;
        }
    }
    maPimListClose(list);
}
Exemple #8
0
/**
 * Test maPimItemCreate syscall.
 */
void AppMoblet::testMaPimItemCreate()
{
    printf("\n===========Test maPimItemCreate syscall===========");

    printf("\nTest with invalid list handle");
    printResultCode(maPimItemCreate(5));

    printf("\nTest with valid list handle, but list is not open");
    printResultCode(maPimItemCreate(1));

    printf("\nTest with valid list handle and list is opened");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    MAHandle item = maPimItemCreate(list);
    printResultCode(item);

    maPimItemRemove(list, item);
    maPimListClose(list);
}
Exemple #9
0
/**
 * Start the testing process.
 */
void AppMoblet::startTesting()
{
    printf("\n===========Open contacts list===========");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);

    printf("\n===========Create new contact item===========");
    MAHandle newContactHandle = maPimItemCreate(list);
    printf("newContactHandle = %d", newContactHandle);
    printResultCode(newContactHandle);

    printf("\n===========Add data to contact===========");
    PIMContact* contact = new PIMContact(newContactHandle);
    contact->addDataToContact();

    printf("\n===========Close new contact===========");
    printResultCode(maPimItemClose(newContactHandle));

    printf("\n===========Close contacts list===========");
    printResultCode(maPimListClose(list));

    delete contact;
}
Exemple #10
0
/**
 * Test maPimItemRemove syscall.
 */
void AppMoblet::testMaPimItemRemove()
{
    printf("\n===========Test maPimItemRemove syscall===========");

    printf("\nTest with invalid list handle");
    printResultCode(maPimItemRemove(5, 1));

    printf("\nTest with valid list handle and invalid item handle");
    MAHandle list = maPimListOpen(MA_PIM_CONTACTS);
    printResultCode(list);
    printResultCode(maPimItemRemove(list, 7));

    printf("\nTest with valid list handle and valid item handle");
    MAHandle newItem = maPimItemCreate(list);
    printResultCode(maPimItemRemove(list, newItem));

    printf("\nTest with a removed item");
    printResultCode(maPimItemRemove(list, newItem));

    maPimItemRemove(list, newItem);
    maPimListClose(list);
    waitForClick();
}
ContactScreen::ContactScreen(MainScreen *previous) {
	this->previous = previous;
	lprintfln("ContactScreen::Memory Heap %d, Free Heap %d", heapTotalMemory(), heapFreeMemory());
	moved = 0;
	index = -1;
	isBusy = false;

	layout = Util::createMainLayout("Search", "Back", "", false);

	listBox = (KineticListBox*) layout->getChildren()[0]->getChildren()[2];

	notice = (Label*) layout->getChildren()[0]->getChildren()[1];

	label = new Label(0,0, scrWidth-PADDING*2, 24, NULL, "Enter contact name", 0, Util::getDefaultFont());
	listBox->add(label);

	label = Util::createEditLabel("");
	editBoxSearch = new NativeEditBox(0, 0, label->getWidth()-PADDING*2, 48-PADDING*2, 64, MA_TB_TYPE_ANY, label, "",L"Search term:");
#if defined(MA_PROF_SUPPORT_STYLUS)

#else
	editBoxSearch->setInputMode(NativeEditBox::IM_NUMBERS);
#endif
	editBoxSearch->setDrawBackground(false);
	label->addWidgetListener(this);
	listBox->add(label);

	contactListBox = new KineticListBox(0, 0, scrWidth, listBox->getHeight() - editBoxSearch->getParent()->getHeight() - 24,
		listBox, KineticListBox::LBO_VERTICAL, KineticListBox::LBA_LINEAR, false);

	this->setMain(layout);

	listBox->setSelectedIndex(1);
	editBoxSearch->setSelected(true);

	//load all the contacts into a list
	Contact *temp;
	char *name, *number;
	String strName, strNumber;

	MAHandle mContactsListHandle = maPimListOpen(MA_PIM_CONTACTS);
	MAHandle pimItemHandle = maPimListNext(mContactsListHandle);

	MA_PIM_ARGS args;
	args.item = pimItemHandle;
	args.bufSize = 512;
	char *mBuffer;
	mBuffer = new char[512];
	args.buf = mBuffer;

	while (pimItemHandle > 0) {
		strName = "";
		strNumber = "";

		args.item = pimItemHandle;

		int countFields = maPimItemCount(pimItemHandle);
		if (countFields >= 0)
		{
			args.field = MA_PIM_FIELD_CONTACT_NAME;

			// Get value from name field at position 0.
			maPimItemGetValue(&args, 0);

			// there can be up to 8 parts of a name
			for (int i = 0; i < 8; i++)
			{
				const wchar* contactNameValue = Util::getWCharArrayFromBuf(args.buf, i);
				if (contactNameValue && *contactNameValue != 0)
				{
					name = new char[wcslen(contactNameValue)];
					memset(name, '\0', wcslen(contactNameValue));
					sprintf(name, "%S", contactNameValue);

					if (strName.length() > 0) {
						strName.append(", ", 2);
					}
					strName.append(name, strlen(name));

					delete name;
				}
			}

			//printf("name: %s", strName.c_str());

			args.field = MA_PIM_FIELD_CONTACT_TEL;

			// Get the number of values.
			int countValues =
				maPimItemFieldCount(pimItemHandle, MA_PIM_FIELD_CONTACT_TEL);

			for (int i = 0; i < countValues; i++)
			{
				int result = maPimItemGetValue(&args, i);

				if (result >= 0) {
					number = new char[wcslen((wchar*) args.buf)];
					memset(number, '\0', wcslen((wchar*) args.buf));
					sprintf(number, "%S", (wchar*) args.buf);
				}

				strNumber = number;
				temp = new Contact(strName, strNumber);
				allContacts.add(temp);

				delete number;
				//printf("number: %s", strNumber.c_str());
			}
		}

		maPimItemClose(pimItemHandle);
		pimItemHandle = maPimListNext(mContactsListHandle);
	}
	maPimListClose(mContactsListHandle);
}