Пример #1
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();
}
Пример #2
0
/**
 * Modify the first value of the address field.
 * Set a custom label for that value.
 */
void PIMContact::modifyAddressField()
{
    printf("==============Modify address field=============\n\n");
    mArgs.field = MA_PIM_FIELD_CONTACT_ADDR;

    // Print new value on the screen.
    for (int i = 0; i < COUNT_ADDRESS_INDICES; i++)
    {
        MAUtil::String addressValueIndex = getAddressIndexString(i);
        const wchar* addressValue = sAddressModified[i];
        printf("%s %S", addressValueIndex.c_str(), addressValue);
    }
    printf("\n");

    // Write the address into the buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sAddressModified,
                        COUNT_ADDRESS_INDICES);

    // Set the value for the address field at position 0.
    // Use MA_PIM_ATTR_ADDR_CUSTOM so we can set the label later.
    checkResultCode(maPimItemSetValue(&mArgs, 0, MA_PIM_ATTR_ADDR_CUSTOM));

    // Set custom attribute(label) for the above address.
    printf("\n Set label for the this address.");
    printf("Label: %S", sAddressLabel);

    // Write label value into buffer.
    mArgs.bufSize = copyWCharArray(mArgs.buf, sAddressLabel);

    // Set label value for address field at position 0.
    checkResultCode(maPimItemSetLabel(&mArgs, 0));
    waitForClick();
}
Пример #3
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();
}
Пример #4
0
/**
 * Add values to address field.
 */
void PIMContact::addAddress()
{
    printf("Add values to address field\n\n");
    mArgs.field = MA_PIM_FIELD_CONTACT_ADDR;

    // Print value for home address.
    for (int i = 0; i < COUNT_ADDRESS_INDICES; i++)
    {
        MAUtil::String addressValueIndex = getAddressIndexString(i);
        const wchar* addressValue = sAddressHome[i];
        printf("%s %S", addressValueIndex.c_str(), addressValue);
    }
    printf("\n");

    // Write value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sAddressHome,
                        COUNT_ADDRESS_INDICES);

    // Add value to address field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_ADDR_HOME));

    // Print value for work address.
    for (int i = 0; i < COUNT_ADDRESS_INDICES; i++)
    {
        MAUtil::String addressValueIndex = getAddressIndexString(i);
        const wchar* addressValue = sAddressWork[i];
        printf("%s %S", addressValueIndex.c_str(), addressValue);
    }

    // Write value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sAddressWork,
                        COUNT_ADDRESS_INDICES);

    // Add value to address field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_ADDR_WORK));
}
Пример #5
0
/**
 * Add value to instant message field.
 */
void PIMContact::addIM()
{
    MAUtil::String attribute;
    printf("Add values to instant message field.\n\n");
    mArgs.field = MA_PIM_FIELD_CONTACT_IM;

    // Print home IM value and attribute.
    attribute = getIMAttributeString(MA_PIM_ATTR_IM_HOME);
    printf("Attribute: %s", attribute.c_str());
    const wchar* imUsernameHome = sIMHome[0];
    const wchar* imProtocolHome = sIMHome[1];
    printf("Username: %S", imUsernameHome);
    printf("Protocol: %S", imProtocolHome);

    // Write home IM value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(mArgs.buf, sIMHome, COUNT_IM_INDICES);

    // Add value to im field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_IM_HOME));
    printf("\n");

    // Print other IM value and attribute.
    attribute = getIMAttributeString(MA_PIM_ATTR_IM_OTHER);
    printf("Attribute: %s", attribute.c_str());
    const wchar* imUsernameOther = sIMOther[0];
    const wchar* imProtocolOther = sIMOther[1];
    printf("Username: %S", imUsernameOther);
    printf("Protocol: %S", imProtocolOther);

    // Write other IM value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sIMOther,
                        COUNT_IM_INDICES);

    // Add value to im field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_IM_OTHER));
}
Пример #6
0
/**
 * Add value to organization field.
 */
void PIMContact::addOrgInfo()
{
    printf("Add value to organization info field.\n\n");
    mArgs.field = MA_PIM_FIELD_CONTACT_ORG_INFO;

    // Print organization value on the screen.
    for (int i = 0; i < COUNT_ORG_INFO_INDICES; i++)
    {
        MAUtil::String orgInfoValueIndex = getOrgInfoIndexString(i);
        const wchar* orgInfoValue = sOrgInfo[i];
        printf("%s %S", orgInfoValueIndex.c_str(), orgInfoValue);
    }

    // Write organization info value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sOrgInfo,
                        COUNT_ORG_INFO_INDICES);

    // Add value to organization info field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_PREFERRED));
}
Пример #7
0
/**
 * Add value to contact name field.
 */
void PIMContact::addContactName()
{
    printf("Add value to contact name field. \n\n");
    mArgs.field = MA_PIM_FIELD_CONTACT_NAME;

    // Write value to buffer.
    mArgs.bufSize = writeWCharArraysToBuf(
                        mArgs.buf,
                        sContactName,
                        COUNT_NAME_INDICES);

    // Print value on the screen.
    for (int i = 0; i < COUNT_NAME_INDICES; i++)
    {
        MAUtil::String contactNameType = getContactNameIndexString(i);
        const wchar* contactNameValue = sContactName[i];
        printf("%s %S", contactNameType.c_str(), contactNameValue);
    }

    // Add value to field.
    checkResultCode(maPimItemAddValue(&mArgs, MA_PIM_ATTR_PREFERRED));
}