enum TVerdict CTestOpenFaxFrCall::doTestStepL()
	{
	INFO_PRINTF1(_L("Test Open Fax From Call"));

    RTelServer server;
	TInt ret = server.Connect();
    TESTCHECK(ret, KErrNone);
   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

	RCall call;
	ret=call.OpenNewCall(server,DSTD_CALL_FULLNAME);
    TESTCHECK(ret, KErrNone);

	RFax fax;
	ret=fax.Open(call);
    TESTCHECK(ret, KErrNone);

	fax.Close();
	call.Close();
  	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
	TESTCHECK(ret, KErrNone);
    ServerClose(server);

	return TestStepResult();
	}
enum TVerdict CTestOpenCallFrLine::doTestStepL()
	{
	INFO_PRINTF1(_L("Open Call from RLine!"));
    RTelServer server;
	TInt ret = server.Connect();
    TESTCHECK(ret, KErrNone);
   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

	RPhone phone;
    ret = phone.Open(server,DSTD_PHONE_NAME);
    TESTCHECK(ret, KErrNone);

	RLine line;
    ret = line.Open(phone,DSTD_LINE_NAME);
	TESTCHECK(ret, KErrNone);

	RCall call;
	ret = call.OpenNewCall(line);
    TESTCHECK(ret, KErrNone);
	call.Close();

	line.Close();
	phone.Close();
  	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
	TESTCHECK(ret, KErrNone);
    ServerClose(server);

	return TestStepResult();
	}
Exemplo n.º 3
0
enum TVerdict CTestSetDes::doTestStepL()
	{
	INFO_PRINTF1(_L("Set By Des"));
    RTelServer server;
	TInt ret = server.Connect();
    TESTCHECK(ret, KErrNone);
   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
	RPhone phone;
	ret = phone.Open(server,DSTD_PHONE_NAME);
    TESTCHECK(ret, KErrNone);

	RCall call;
	ret=call.OpenNewCall(phone,DSTD_OPEN_CALL_FROM_PHONE_NAME);
	TESTCHECK(ret, KErrNone);

	RCall::TCallParams callParams;
	RCall::TCallParamsPckg callParamsPckg(callParams);

	TDummyString dialString=DACQ_PHONE_NUMBER_TO_DIAL;
	ret=call.Dial(callParamsPckg,dialString);
	TESTCHECK(ret, KErrNone);

	RFax fax;
	ret=fax.Open(call);

	TRequestStatus faxReadStatus;
	TRequestStatus faxWriteStatus;

	TAcqFaxBuf readbuf=DACQ_FAX_BUF_DATA;
	TAcqFaxBuf writebuf=DACQ_FAX_BUF_DATA;

	// check each req complete correctly
	fax.Read(faxReadStatus,readbuf);
	User::WaitForRequest(faxReadStatus);
	TESTCHECKSTR(readbuf, DACQ_FAX_BUF_DATA);

	fax.Write(faxWriteStatus,writebuf);
	User::WaitForRequest(faxWriteStatus);

	fax.Close();
	call.Close();
	phone.Close();
  	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
	TESTCHECK(ret, KErrNone);
    ServerClose(server);

	return TestStepResult();
	}
enum TVerdict CTestOpenPhoneFrServ::doTestStepL()
	{
	INFO_PRINTF1(_L("Test Open Phone From Server"));

    RTelServer server;
	TInt ret = server.Connect();
    TESTCHECK(ret, KErrNone);
   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

	RPhone phone;
    ret = phone.Open(server,DSTD_PHONE_NAME);
    TESTCHECK(ret, KErrNone);
	phone.Close();
  	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
	TESTCHECK(ret, KErrNone);
    ServerClose(server);

	return TestStepResult();
    }
enum TVerdict CTestRelinquish::doTestStepL()
	{
 	INFO_PRINTF1(_L("Test relinquish ownership"));
	RTelServer serverA;
	TInt ret = serverA.Connect();
    TESTCHECK(ret, KErrNone);
   	ret=serverA.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
	RCall callA;
    ret = callA.OpenNewCall(serverA,DSTD_CALL_FULLNAME);
	TESTCHECK(ret, KErrNone);
	RCall::TCallParams callParams;
	RCall::TCallParamsPckg callParamsPckg(callParams);

    ret=callA.Dial(callParamsPckg,DACQ_PHONE_NUMBER_TO_DIAL);
	TESTCHECK(ret, KErrNone);
	callA.Close();
	serverA.UnloadPhoneModule(DSTD_MODULE_NAME);
	ServerClose(serverA);

	return TestStepResult();
	}
Exemplo n.º 6
0
static void DialNumberL(PktBuf &in, PktBuf &out) {
	/// @todo maybe use a CActive object to allow the call to be cancelled from gammu
	TBuf<100> aPhoneNumber;

	in >> aPhoneNumber;

	cons->Printf( _L("dialing... number:\n") );
	cons->Printf( aPhoneNumber );
	cons->Printf( _L("\n") );

	TName newCallName = _L("call");

	//Create a connection to the tel server
	RTelServer server;
	CleanupClosePushL(server);
	User::LeaveIfError(server.Connect());

	//Load in the phone device driver
	User::LeaveIfError(server.LoadPhoneModule(KTsyName));
	
	//Find the number of phones available from the tel server
	TInt numberPhones;
	User::LeaveIfError(server.EnumeratePhones(numberPhones));

	//Check there are available phones
	if (numberPhones < 1)
	{
		User::Leave(KErrNotFound);
	}

	//Get info about the first available phone
	RTelServer::TPhoneInfo info;
	User::LeaveIfError(server.GetPhoneInfo(0, info));

	//Use this info to open a connection to the phone, the phone is identified by its name
	RPhone phone;
	CleanupClosePushL(phone);
	User::LeaveIfError(phone.Open(server, info.iName));

	//Get info about the first line from the phone
	RPhone::TLineInfo lineInfo;
	User::LeaveIfError(phone.GetLineInfo(0, lineInfo));

	//Use this to open a line
	RLine line;
	CleanupClosePushL(line);
	User::LeaveIfError(line.Open(phone, lineInfo.iName));

	//Open a new call on this line
	RCall call;
	CleanupClosePushL(call);
	User::LeaveIfError(call.OpenNewCall(line, newCallName));

	if ((call.Dial(aPhoneNumber) == KErrNone))
	{
		TRequestStatus iStatus;
		RCall::TStatus iLineStatus;
		line.NotifyStatusChange(iStatus, iLineStatus);
		User::WaitForRequest(iStatus);
	}

	CleanupStack::PopAndDestroy(4);//phone, line, call

	//Unload the phone device driver
	User::LeaveIfError(server.UnloadPhoneModule(KTsyName));

	out << (TUint16)GNAPPLET_MSG_PHONEBOOK_DIAL_RESP;
	out << (TUint16)GN_ERR_NONE;
}
Exemplo n.º 7
0
enum TVerdict CTestPhoneInfo::doTestStepL()
{
    INFO_PRINTF1(_L("Test Phone Info"));

    RTelServer server;
    TInt ret = server.Connect();
    TESTCHECK(ret, KErrNone);

    TInt  originalNumPhones;
    ret = server.EnumeratePhones(originalNumPhones);
    TESTCHECK(ret, KErrNone);

    ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
    ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

    TInt numPhones;
    ret=server.EnumeratePhones(numPhones);
    TESTCHECK(ret, KErrNone);
    INFO_PRINTF2(_L("EnumeratePhones returned %d"),numPhones);

    INFO_PRINTF4(_L("Should equal %d + %d + %d"), DSTDNC_NUMBER_OF_PHONES, DSTD_NUMBER_OF_PHONES,
                 originalNumPhones);
    TESTCHECK(numPhones, (DSTDNC_NUMBER_OF_PHONES + DSTD_NUMBER_OF_PHONES + originalNumPhones));

    RTelServer::TPhoneInfo info;
    TName tsyName;
    TInt  phoneIndex = originalNumPhones;

    // first phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTD_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTD_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTD_NUMBER_OF_LINES);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNone);
    TESTCHECKSTR(tsyName, DSTD_MODULE_NAME);
    phoneIndex++;

    // second phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDFC_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDFC_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDFC_NUMBER_OF_LINES);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNone);
    TESTCHECKSTR(tsyName, DSTD_MODULE_NAME);
    phoneIndex++;

    // third phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDPM_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDPM_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDPM_NUMBER_OF_LINES);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNone);
    TESTCHECKSTR(tsyName, DSTD_MODULE_NAME);
    phoneIndex++;

    // fourth phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDPM_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTD_SLOW_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDPM_NUMBER_OF_LINES);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNone);
    TESTCHECKSTR(tsyName, DSTD_MODULE_NAME);
    phoneIndex++;

    // fifth phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDNC_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDNC_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDNC_NUMBER_OF_LINES);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNone);
    TESTCHECKSTR(tsyName, DSTDNC_MODULE_NAME);
    phoneIndex++;

    // sixth phone
    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNotFound);

    ret=server.GetTsyName(phoneIndex,tsyName);
    TESTCHECK(ret, KErrNotFound);
    phoneIndex++;

    ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
    ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
    ServerClose(server);

    ret = server.Connect();
    TESTCHECK(ret, KErrNone);
    ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

    ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);

    ret=server.EnumeratePhones(numPhones);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(numPhones, (DSTD_NUMBER_OF_PHONES + DSTDNC_NUMBER_OF_PHONES + originalNumPhones));

    phoneIndex = originalNumPhones;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDNC_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDNC_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDNC_NUMBER_OF_LINES);
    phoneIndex++;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTD_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTD_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTD_NUMBER_OF_LINES);
    phoneIndex++;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDFC_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDFC_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDFC_NUMBER_OF_LINES);
    phoneIndex++;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDPM_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTDPM_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDPM_NUMBER_OF_LINES);
    phoneIndex++;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNone);
    TESTCHECK(info.iNetworkType, DSTDPM_NETWORK_TYPE);
    TESTCHECKSTR(info.iName, DSTD_SLOW_PHONE_NAME);
    TESTCHECK(info.iNumberOfLines, DSTDPM_NUMBER_OF_LINES);
    phoneIndex++;

    ret=server.GetPhoneInfo(phoneIndex,info);
    TESTCHECK(ret, KErrNotFound);
    phoneIndex++;

    ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
    ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
    TESTCHECK(ret, KErrNone);
    ServerClose(server);

    return TestStepResult();
}