--- a/commsconfig/commsdatabaseshim/commdbshim/SCDB/commdb_impl.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsconfig/commsdatabaseshim/commdbshim/SCDB/commdb_impl.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -362,7 +362,7 @@
User::LeaveIfError(recSet->iRecords.Append(aConnPref));
iCurrentRecord = recSet->iRecords[recSet->iRecords.Count()-1];
- iInsertedRecords.Insert(iCurrentRecord->RecordId(), KFirstRecord);
+ iInsertedRecords.InsertL(iCurrentRecord->RecordId(), KFirstRecord);
TInt index = iDeletedRecords.Find(iCurrentRecord->RecordId());
@@ -451,7 +451,7 @@
CleanupStack::Pop(newRecord);
iCurrentRecord = newRecord;
- iInsertedRecords.Insert(iCurrentRecord->RecordId(), KFirstRecord);
+ iInsertedRecords.InsertL(iCurrentRecord->RecordId(), KFirstRecord);
SortById();
aId = newRecord->RecordId();
--- a/commsfwsupport/commselements/commsfw/src/cfutil.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/commsfw/src/cfutil.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -493,14 +493,14 @@
}
if(!found)
{
- files.Append(entry);
+ files.AppendL(entry);
fullEntry.Set(entry.iName, &ff.File(), NULL);
AddL(TOwnEntry(fullEntry, entry));
}
}
else
{
- files.Append(entry);
+ files.AppendL(entry);
fullEntry.Set(entry.iName, &ff.File(), NULL);
AddL(TOwnEntry(fullEntry, entry));
}
--- a/commsfwsupport/commselements/meshmachine/src/mm_node.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/meshmachine/src/mm_node.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -198,11 +198,11 @@
__ASSERT_DEBUG(!client->RecipientId().IsNull(), User::Panic(KSpecAssert_ElemMeshMachNodC, 1));
AbortActivitiesOriginatedBy(aContext, client->RecipientId());
+ if (aContext.iSender == aClientId)
+ {
+ aContext.iPeer = NULL;
+ }
ANodeBase::RemoveClient(foundAt);
- if (aContext.iSender == aClientId)
- {
- aContext.iPeer = NULL;
- }
}
EXPORT_C CNodeActivityBase* AMMNodeBase::FindActivityById(TUint aActivityId) const
--- a/commsfwsupport/commselements/serverden/bwins/serverdenu.def Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/bwins/serverdenu.def Wed Aug 18 10:59:59 2010 +0300
@@ -138,7 +138,7 @@
?IsShuttingDown@CCommonPitBoss@Den@@QBEHXZ @ 137 NONAME ; int Den::CCommonPitBoss::IsShuttingDown(void) const
?IsSubSessionIpcExtensionSupported@CWorkerSubSession@Den@@IAEPAVTIpcExtensionRoutingMessageFromSubSession@2@HAAVTDes8@@@Z @ 138 NONAME ; class Den::TIpcExtensionRoutingMessageFromSubSession * Den::CWorkerSubSession::IsSubSessionIpcExtensionSupported(int, class TDes8 &)
?LogSubSession@CWorkerSession@Den@@SAXPAV12@PAVCWorkerSubSession@2@HPAX@Z @ 139 NONAME ; void Den::CWorkerSession::LogSubSession(class Den::CWorkerSession *, class Den::CWorkerSubSession *, int, void *)
- ?MaybeCompleteUnbinding@CCommonWorkerThread@Den@@IAEXG@Z @ 140 NONAME ; void Den::CCommonWorkerThread::MaybeCompleteUnbinding(unsigned short)
+ ?MaybeCompleteUnbinding@CCommonWorkerThread@Den@@IAEXGH@Z @ 140 NONAME ; void Den::CCommonWorkerThread::MaybeCompleteUnbinding(unsigned short)
?MaybeCompleteUnbindings@CCommonWorkerThread@Den@@QAEHXZ @ 141 NONAME ; int Den::CCommonWorkerThread::MaybeCompleteUnbindings(void)
?MaybeSetPlayerShutdownComplete@CCommonPlayer@Den@@QAEXH@Z @ 142 NONAME ; void Den::CCommonPlayer::MaybeSetPlayerShutdownComplete(int)
?MaybeSwitch@THeapSwitcher@Den@@AAEXAAVCCommonPitBoss@2@G@Z @ 143 NONAME ; void Den::THeapSwitcher::MaybeSwitch(class Den::CCommonPitBoss &, unsigned short)
--- a/commsfwsupport/commselements/serverden/eabi/serverdenu.def Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/eabi/serverdenu.def Wed Aug 18 10:59:59 2010 +0300
@@ -149,7 +149,7 @@
_ZN3Den19CCommonWorkerThread20CompleteSessionCloseEPNS_14CWorkerSessionE @ 148 NONAME
_ZN3Den19CCommonWorkerThread21DecProlongBindingLifeEv @ 149 NONAME
_ZN3Den19CCommonWorkerThread21IncProlongBindingLifeEv @ 150 NONAME
- _ZN3Den19CCommonWorkerThread22MaybeCompleteUnbindingEt @ 151 NONAME
+ _ZN3Den19CCommonWorkerThread22MaybeCompleteUnbindingEti @ 151 NONAME
_ZN3Den19CCommonWorkerThread23MaybeCompleteUnbindingsEv @ 152 NONAME
_ZN3Den19CCommonWorkerThread25SetDealerShutdownCompleteEi @ 153 NONAME
_ZN3Den19CCommonWorkerThread25SetPlayerShutdownCompleteEi @ 154 NONAME
@@ -379,4 +379,3 @@
_ZNK3Den18RApiExtSessionBase4SendERNS_13TApiExtReqMsgERK11RHandleBaseR14TRequestStatus @ 378 NONAME
_ZNK3Den21RApiExtSubSessionBase4SendERNS_13TApiExtReqMsgERK11RHandleBaseR14TRequestStatus @ 379 NONAME
-
--- a/commsfwsupport/commselements/serverden/inc/sd_roles.h Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/inc/sd_roles.h Wed Aug 18 10:59:59 2010 +0300
@@ -545,7 +545,19 @@
{
private:
enum { ELivingSession = 0x80000000 };
-
+
+ NONSHARABLE_CLASS(CSubSessionCloseThrottle) : public CAsyncOneShot
+ {
+ public:
+ CSubSessionCloseThrottle(CCommonSessionProxy& aProxy);
+ void RunL();
+ private:
+ CCommonSessionProxy& iProxy;
+ };
+
+ static const TInt KSubSessionThrottleSize = 15;
+ friend class CSubSessionCloseThrottle;
+
public:
IMPORT_C ~CCommonSessionProxy();
@@ -576,10 +588,14 @@
IMPORT_C CCommonSessionProxy(CWorkerSession* aSession, CCommonPlayer& aPlayer);
private:
+ void DeleteSubSessionsWithThrottling();
+
+private:
CWorkerSession* iSession; //< The session which is represented by proxy instance
CCommonPlayer& iPlayer;
TInt iNumSubSessClosing; //< Number of subsessions in current thread to complete
TDblQueLink iLink;
+ CSubSessionCloseThrottle iSubSessionCloseThrottle;
};
/**
--- a/commsfwsupport/commselements/serverden/inc/sd_thread.h Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/inc/sd_thread.h Wed Aug 18 10:59:59 2010 +0300
@@ -269,7 +269,7 @@
void ProcessIniDataL();
IMPORT_C TInt DecodePeerId(const CommsFW::TCFSubModuleAddress* aSubModule1, const CommsFW::TCFSubModuleAddress* aSubModule2, CommsFW::TWorkerId& aPeerId);
- IMPORT_C void MaybeCompleteUnbinding(CommsFW::TWorkerId aWorker);
+ IMPORT_C void MaybeCompleteUnbinding(CommsFW::TWorkerId aWorker, TBool aPeerIsDead);
protected:
/** This is the handler used for bi-directional communication with the Root Server. */
--- a/commsfwsupport/commselements/serverden/src/sd_player.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/src/sd_player.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -17,7 +17,7 @@
@file
@internalComponent
*/
-
+
#include <e32base.h>
#include <cfshared.h>
#include "sd_log.h"
@@ -39,10 +39,12 @@
//
// CSockSessionProxy
//
+
EXPORT_C CCommonSessionProxy::CCommonSessionProxy(CWorkerSession* aSession, CCommonPlayer& aPlayer)
: iSession(aSession),
iPlayer(aPlayer),
- iNumSubSessClosing(ELivingSession)
+ iNumSubSessClosing(ELivingSession),
+ iSubSessionCloseThrottle(*this)
{
//COMMONLOG((WorkerId(),KECommonBootingTag, _L8("CSockSessionProxy %08x:\tCSockSessionProxy(), iSockSession %08x"), this, iSession) );
}
@@ -66,37 +68,77 @@
__ASSERT_DEBUG(!IsClosing(), User::Panic(KSpecAssert_ElemSvrDenPlayrC, 1));
iNumSubSessClosing = 1; // dummy subsession to prevent premature suicide during this close loop
- // The object container is stored as a packed array, so working backwards through it avoids invalidating
- // the iterator when removing entries (and as a bonus is more efficient)
- CCommonPlayer::TSubSessionContainer& subSessions(iPlayer.SubSessions());
- for(TInt i = subSessions.Count() - 1; i >= 0; --i)
- {
- CWorkerSubSession* subSession = subSessions[i];
- if(subSession->Session() == iSession)
- {
- ++iNumSubSessClosing;
- if(!subSession->IsClosing())
- {
- subSession->DeleteMe();
- }
- }
- }
+
+ DeleteSubSessionsWithThrottling();
+ }
+
+void CCommonSessionProxy::DeleteSubSessionsWithThrottling()
+ {
+ // Why Throttle? The original scenario is a process which opens a large number of sockets (100 in the
+ // original case) and terminates without closing them, leaving BeginSessionClose() to clean them up.
+ // In addition, the worker in question (pdummy1) synchronously deletes subsessions (1) and uses a shared
+ // shared heap configuration (i.e. limited memory). As each deletion results in a message being sent
+ // (to an SCPR), and there is no opportunity to drain these due to the synchronous deletion, the transport
+ // queue overflows and cannot be grown resulting in a panic. So use a (*low* priority) active object to
+ // delete a limited number of subsessions per RunL().
+ //
+ // (1) a call to DeleteMe() results in an immediate upcall to NotifySubSessionDestroyed().
+
+ TInt count = KSubSessionThrottleSize;
+
+ // The object container is stored as a packed array, so working backwards through it avoids invalidating
+ // the iterator when removing entries (and as a bonus is more efficient)
- NotifySubSessionDestroyed(); // remove the dummy subsession
- }
+ CCommonPlayer::TSubSessionContainer& subSessions(iPlayer.SubSessions());
+ for(TInt i = subSessions.Count() - 1; i >= 0; --i)
+ {
+ CWorkerSubSession* subSession = subSessions[i];
+ if(subSession->Session() == iSession)
+ {
+ ++iNumSubSessClosing;
+ if(!subSession->IsClosing())
+ {
+ subSession->DeleteMe();
+ // Throttle the deletions as appropriate
+ if (--count <= 0)
+ {
+ COMMONLOG((Player().WorkerId(),KECommonBootingTag, _L8("CCommonSessionProxy %08x:\tDeleteSubSessionBunch(): throttled subsession deletion"), this) );
+ // Re-prime the one shot
+ iSubSessionCloseThrottle.Call();
+ return;
+ }
+ }
+ }
+ }
+ NotifySubSessionDestroyed(); // all, done, remove the dummy subsession
+ }
EXPORT_C void CCommonSessionProxy::NotifySubSessionDestroyed()
{
- //COMMONLOG((Player().WorkerId(),KECommonBootingTag, _L8("CCommonSessionProxy %08x:\tNotifySubSessionDestroyed(), iSockSession %08x"), this, iSession) );
- if(IsClosing() && --iNumSubSessClosing <= 0)
- {
- __ASSERT_DEBUG(iNumSubSessClosing == 0, User::Panic(KSpecAssert_ElemSvrDenPlayrC, 2));
- CCommonWorkerThread& worker = iPlayer.WorkerThread();
- worker.CompleteSessionClose(iSession);
- delete this;
- }
+ //COMMONLOG((Player().WorkerId(),KECommonBootintgTag, _L8("CCommonSessionProxy %08x:\tNotifySubSessionDestroyed(), iSockSession %08x"), this, iSession) );
+ if(IsClosing() &&--iNumSubSessClosing <= 0)
+ {
+ __ASSERT_DEBUG(iNumSubSessClosing == 0, User::Panic(KSpecAssert_ElemSvrDenPlayrC, 2));
+ CCommonWorkerThread& worker = iPlayer.WorkerThread();
+ worker.CompleteSessionClose(iSession);
+ delete this;
+ }
}
+//
+// CCommonSessionProxy::CSubSessionCloseThrottle
+//
+
+CCommonSessionProxy::CSubSessionCloseThrottle::CSubSessionCloseThrottle(CCommonSessionProxy& aProxy)
+ : CAsyncOneShot(EPriorityLow), iProxy(aProxy) // This must be low priority!
+ {
+ }
+
+void CCommonSessionProxy::CSubSessionCloseThrottle::RunL()
+ {
+ // Delete some more subsessions
+ iProxy.DeleteSubSessionsWithThrottling();
+ }
//
// CCommonPlayer
--- a/commsfwsupport/commselements/serverden/src/sd_workerthread.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/src/sd_workerthread.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -454,7 +454,7 @@
#endif
// Mark the peer handler as unbinding
- __CFLOG_VAR(( KECommonComponentTag, KECommonServerTag, _L8("W%d: CFUnbindMessageReceived %S <=> %S"),
+ COMMONLOG((WorkerId(), KECommonBootingTag, _L8("W%d: CFUnbindMessageReceived %S <=> %S"),
WorkerId(),
&fullModName1,
&fullModName2 ));
@@ -483,7 +483,7 @@
{
iTransport->SetLastRequestIdConcerningPeer(unbindId, aMsg.Identifier());
iTransport->SetDropTransportPending(unbindId, ETrue);
- MaybeCompleteUnbinding(unbindId);
+ MaybeCompleteUnbinding(unbindId, aMsg.PeerIsDead());
}
else
{
@@ -507,7 +507,7 @@
// We always have a transport to ourself & it needs no unbinding
if(player != WorkerId())
{
- MaybeCompleteUnbinding(player);
+ MaybeCompleteUnbinding(player, EFalse);
if(iTransport->PeerReachable(player))
{
return EFalse;
@@ -526,13 +526,13 @@
@see CCommonPlayer::CanUnbindFromWorker
@see TCFUnbindCompleteMsg
*/
-EXPORT_C void CCommonWorkerThread::MaybeCompleteUnbinding(TWorkerId aWorker)
+EXPORT_C void CCommonWorkerThread::MaybeCompleteUnbinding(TWorkerId aWorker, TBool aPeerIsDead)
{
if(iTransport->PeerReachable(aWorker) && iTransport->IsDropTransportPending(aWorker))
{
- if(!Dealer() || Dealer()->CanUnbindFromWorker(aWorker))
+ if(aPeerIsDead || !Dealer() || Dealer()->CanUnbindFromWorker(aWorker))
{
- if(!Player() || Player()->CanUnbindFromWorker(aWorker))
+ if(aPeerIsDead || !Player() || Player()->CanUnbindFromWorker(aWorker))
{
COMMONLOG((WorkerId(), KECommonBootingTag, _L8("CCommonWorkerThread::MaybeCompleteUnbinding(%d) - dropping transport & unbinding"), aWorker));
// Let the peer know that we've unbound - if it has management responsibility towards us then
@@ -719,7 +719,7 @@
if(iTransport->PeerReachable(peerId))
{
- MaybeCompleteUnbinding(peerId);
+ MaybeCompleteUnbinding(peerId, ETrue);
if(iTransport->PeerReachable(peerId))
{
COMMONLOG((iWorkerId, KECommonServerTag, _L8("Destroying peer #%d handler"),peerId));
--- a/commsfwtools/commstools/svg/parse.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/svg/parse.ini Wed Aug 18 10:59:59 2010 +0300
@@ -119,6 +119,11 @@
TPolicyCheckRequest iParams.iProcessId_Lo iParams.iThreadId_Lo iParams.iPlatSecResult
ReJoinDataClientRequest iNodeId1.iPtr:node iNodeId2.iPtr:node
SubSess iValue
+SimpleSelect iSelectionPrefs.iSelectionParams iSelectionPrefs.iSubSessionUniqueId
+TApiExtMsgDispatcher iResponseMsg.iMessage.iHandle:x iClientId
+TOpenExtensionInterface iMessage.iHandle:x iClientId iInterfaceId
+TDataMonitoringNotification iValue1 iValue2
+TConnFlowRequest iSubSessionUniqueId:x iFlowParams.iAddrFamily iFlowParams.iProtocol iFlowParams.iSocketType iFlowParams.iFlowRequestType iSession:x iHandle:x
[ObjectNameTruncateAndOrder]
# Note: the order that entries appear in this section is important as string substitutions occur in the order specified
TransportFlowShim TranFlowShim 2
--- a/commsfwtools/commstools/svg/parselog.pl Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/svg/parselog.pl Wed Aug 18 10:59:59 2010 +0300
@@ -38,12 +38,13 @@
# 4 include ESOCK session creation
# 8 display activity name along with each tuple line (e.g. "(IpCprNoBearer) (CoreNetStates::TSendBindTo, CoreNetStates::TAwaitingBindToComplete)")
# 16 display AddClient/RemoveClient operations
+# -o <path> Write HTML and SVG output files into directory <path>
use strict;
require 'getopts.pl';
-my $version = "2.1 (24/02/09)";
+my $version = "2.2 (16/04/10)";
#
# Internal Options
@@ -53,12 +54,13 @@
my $globalIndex = 1;
my $lifeStage = 0; # 0 = not running or shutting down, 1 = during boot, 2 = main phase
+my $outputPath = ""; # path to output directory specified by "-o"
+our($opt_p,$opt_s,$opt_x,$opt_X, $opt_o);
-our($opt_p,$opt_s,$opt_x,$opt_X);
+Getopts("ps:x:X:o:");
-Getopts("ps:x:X:");
-
+$outputPath = processPathArgument($opt_o);
### to get 1st line of latest log: type log.txt | perl -e "while(<>){if(/^#Logging started/){$a=$.;print $a.' '}};print $a"
@@ -83,7 +85,8 @@
use constant ArgumentSignedDecimal => 0;
use constant ArgumentNode => 1;
-my %argumentFormatToConstant = ( "node" => ArgumentNode ); # used to have several other options
+use constant ArgumentHex => 2;
+my %argumentFormatToConstant = ( "node" => ArgumentNode, "x" => ArgumentHex ); # used to have several other options
my %arguments;
# Support for AddClient/RemoveClient
@@ -317,13 +320,14 @@
}
elsif (($opt_s & 2) &&
(/CWorkerSubSession\(.{8}\):\s*CompleteMessage\((.{8})\) with (.+), session .{8}/ ||
+ /~CESockClientActivityBase..{8}.\s*RMessage2::Complete \((.{8})\) with ([-\d]+)\./ ||
+ /RSafeMessage\(.{8}\)::Complete\((.{8})\) with ([-\d]+)/))
+ {
# /ProcessMessageL, session=.{8}, RMessage2::Complete \((.{8})\) with ([-\d]+)\./ ||
- /~CESockClientActivityBase..{8}.\s*RMessage2::Complete \((.{8})\) with ([-\d]+)\./ ||
- /RSafeMessage\((.{8})\)::Complete\((\d+)\) - session .{8}/))
- {
# W6: CPlayer: ProcessMessageL, session=0be839a8, RMessage2::Complete (00de5538) with 0.
# W0: CWorkerSubSession(0c941bc4): CompleteMessage(00de1a6c) with -3, session 0be839a8.
# W6: ~CESockClientActivityBase=0c941f8c, RMessage2::Complete (00de5538) with 0.
+ # RSafeMessage(00e01590)::Complete(cd21cb80) with -36
my $msgAddr = $1;
my $ret = $2;
@@ -792,7 +796,11 @@
if ($value =~ m/^0x/) {
$value = hex($value);
}
- $buf .= sprintf "%d", $value;
+ if ($format == ArgumentHex) {
+ $buf .= sprintf "0x%x", $value;
+ } else {
+ $buf .= sprintf "%d", $value;
+ }
} else {
$buf .= $value;
}
@@ -934,12 +942,19 @@
my ($exeName) = @_;
$exeName =~ s/\.exe$//;
$exeName =~ s/\.EXE$//;
+ $exeName =~ s/ /_/g;
return $exeName;
}
sub outputSymbols()
{
- open SYM, ">logsym.html" || die "Cannot open logsym.html for writing\n";
+ # Should have already created $outputPath directory, create html/ subdirectory.
+ my $path = $outputPath . "html";
+ if (! -d $path) {
+ mkdir $path;
+ }
+ $path .= "/logsym.html";
+ open SYM, ">$path" || die "Cannot open $path for writing\n";
print SYM "<html>\n<body><code>\n";
my @keys = sort keys %symtab;
for my $i (@keys) {
@@ -1145,4 +1160,32 @@
if (defined $activityName{$actAddr}) {
delete $activityName{$actAddr};
}
-}
\ No newline at end of file
+}
+
+sub processPathArgument($)
+{
+ my $path = $_[0];
+ if ($path) {
+ # ensure "/" at the end
+ if ($path !~ /\/$/) {
+ $path .= "/";
+ }
+ mkdirp($path);
+ return $path;
+ } else {
+ return "";
+ }
+}
+
+sub mkdirp($)
+{
+ my $dirName = @_[0];
+ if ($dirName =~ m/^(.*)\//i) {
+ if ($1 ne "") {
+ mkdirp($1);
+ }
+ }
+ if (! -d $dirName) {
+ mkdir($dirName);
+ }
+}
--- a/commsfwtools/commstools/svg/parseseq.pl Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/svg/parseseq.pl Wed Aug 18 10:59:59 2010 +0300
@@ -56,8 +56,10 @@
my $version = "2.2 (27/02/08)";
-getopts("MHpx:N:A:vVr:R:hnf");
-our($opt_M, $opt_H, $opt_p, $opt_x, $opt_N, $opt_A, $opt_v, $opt_V, $opt_r, $opt_R, $opt_h, $opt_n, $opt_f);
+getopts("MHpx:N:A:vVr:R:hnfo:");
+our($opt_M, $opt_H, $opt_p, $opt_x, $opt_N, $opt_A, $opt_v, $opt_V, $opt_r, $opt_R, $opt_h, $opt_n, $opt_f, $opt_o);
+
+my $outputPath = processPathArgument($opt_o);
if ($opt_h)
{
@@ -122,8 +124,10 @@
[6] AgentSCPr :: AgentSCprStart
Select activity to draw:
...
-
- -h This help message
+
+-o <path> Place all output files into <path>/html/ directory (including log.html).
+
+-h This help message
HELP
exit (0);
}
@@ -307,6 +311,7 @@
my $rowsPerView = int(($rowsToDisplay + $viewsToDisplay - 1) / $viewsToDisplay);
my $viewNumber = 0;
createViewMap();
+ createIpcMap();
while ($beginRow < $totalRows) {
$endRow = $beginRow + $rowsPerView - 1;
if ($endRow >= $totalRows) {
@@ -318,6 +323,7 @@
$beginRow = $endRow + 1;
}
closeViewMap($viewNumber);
+ closeIpcMap($viewNumber);
}
print "\n" if ($opt_V);
@@ -353,19 +359,22 @@
$fileName .= $viewNumber;
}
- open SVG, ">html/${fileName}.svg" || die "Cannot open html/${fileName}.svg for writing\n";
+ my $path = $outputPath . "html/${fileName}.svg";
+ open SVG, ">$path" || die "Cannot open $path for writing\n";
#open RTTTL, ">html/${fileName}.rtttlpre" || die "Cannot open html/${fileName}.rttlpre for writing\n";
outputDocHeader($screenWidth, $screenHeight);
- drawObjectNames(0);
updateObjectViewList($viewNumber);
drawObjectLifelines($beginRow, $endRow, $screenHeight);
+ drawObjectNames(0);
drawActivities($beginRow, $endRow, $screenHeight, $viewNumber);
my @labelsOnPage = ();
my @objectsDestroyed = ();
my @objectsCreated = ();
- drawSequences($beginRow, $endRow, 1, \@labelsOnPage, \@objectsCreated, \@objectsDestroyed);
+ my @ipc = ();
+ drawSequences($beginRow, $endRow, 1, \@labelsOnPage, \@objectsCreated, \@objectsDestroyed, \@ipc);
outputViewMap($viewNumber, $lastViewNumber, \@labelsOnPage, \@objectsCreated, \@objectsDestroyed);
+ outputIpcMap($viewNumber, $lastViewNumber, \@ipc);
outputDocFooter();
close SVG;
@@ -379,9 +388,11 @@
resetForNextView();
}
-sub createSubDir() {
- if (! -d html) {
- mkdir "html" || die "Cannot create 'html' subdirectory\n";
+sub createSubDir()
+{
+ my $path = $outputPath . "html";
+ if (! -d $path) {
+ mkdir $path || die "Cannot create $path subdirectory\n";
}
}
sub resetForNextView() {
@@ -946,11 +957,12 @@
{
if ($i->{Order} == 0)
{
- $colour = "";
+ $colour = "!";
}
else
{
$colour = (($i->{Order} % 2) == 0) ? $objectNameColour1 : $objectNameColour2;
+ $colour = "!" . $colour;
}
}
my $name = $i->{Name};
@@ -967,10 +979,11 @@
}
else
{
- outputText($i->{X}, $name, $currentY, "middle", $colour, qq{id="$name" onclick="debugEvent(evt)"});
+ my $stagger = ($i->{colno} & 1);
+ outputText($i->{X}, $name, $currentY + ($stagger * $incrementY), "middle", $colour, qq{id="$name" onclick="debugEvent(evt)"});
}
}
- incrementY();
+ incrementY(2);
}
#
@@ -1137,7 +1150,7 @@
sub drawSequences($$$$$$)
{
- my ($startRow, $endRow, $drawFlag, $labelsOnPageRef, $objectsCreatedRef, $objectsDestroyedRef) = @_;
+ my ($startRow, $endRow, $drawFlag, $labelsOnPageRef, $objectsCreatedRef, $objectsDestroyedRef, $ipcRef) = @_;
my $nextLabel = "";
# startRow/endRow = start/end row of displayed area (inclusive)
@@ -1150,7 +1163,6 @@
my $drawDone = 0;
my $inRange = 0;
my $lastPopupText = ""; # text of last "pn" action
-
foreach my $ref (@sequences) {
my $action = $ref->{Action};
@@ -1169,7 +1181,8 @@
$colour .= "rgb($1)";
$text = $2;
}
- my $attrs = generatePopupAttrs(\$lastPopupText, qq{id="$ref->{Object}->{Name}"});
+ my $name = $ref->{Object}->{Name};
+ my $attrs = generatePopupAttrs(\$lastPopupText, qq{id="$name"});
outputText($objX + $lifelineTextLeftMargin, $text, $currentY, "begin", $colour, $attrs);
$drawDone = 1;
# support for putting threads into the view map
@@ -1181,6 +1194,9 @@
push @{$objectsDestroyedRef}, $1;
}
}
+ if ($name =~ s/^!//) {
+ push @{$ipcRef}, $ref;
+ }
} else {
fakeUpCreationDeletionIfRequired($ref->{Object}, $absoluteRow);
}
@@ -1384,16 +1400,16 @@
$inRange = IsInRangeInclusive($absoluteRow, $startRow, $endRow);
if ($inRange)
{
- # drawObjectNames() increments Y once, and we increment Y once for
- # spacing, so we occupy two rows here.
- $rows += 2;
+ # drawObjectNames() increments Y twice (for stagger), and we increment Y once for
+ # spacing, so we occupy three rows here.
+ $rows += 3;
if ($drawFlag == 1)
{
drawObjectNames(1);
incrementY();
}
}
- $absoluteRow += 2;
+ $absoluteRow += 3; # 2 + 1 for stagger
}
}
return $rows;
@@ -1699,7 +1715,8 @@
sub createViewMap()
{
- open MAP, ">logmap.html" || die "Cannot open logmap.html for writing\n";
+ my $path = $outputPath . "html/logmap.html";
+ open MAP, ">$path" || die "Cannot open $path for writing\n";
print MAP "<html>\n<body>\n";
# Begin page label/time table
@@ -1830,6 +1847,84 @@
}
}
+sub createIpcMap()
+{
+ my $path = $outputPath . "html/ipcmap.html";
+ open IPC, ">$path" || die "Cannot open $path for writing\n";
+ print IPC "<html><head>\n";
+ print IPC qq{<style type="text/css">};
+ print IPC "td,th { text-align: left; font-family: courier new; white-space: nowrap ; font-size: smaller}\n";
+ print IPC "</style></head><body>\n";
+
+ # Begin page label/time table
+ print IPC qq { <table border="1" >\n };
+ print IPC qq { <tr><th style="text-align: center">Page</th><th style="text-align: center">EXEs...</th></tr>\n };
+}
+
+sub closeIpcMap()
+{
+ print IPC "</table></body></html>\n";
+ close IPC;
+}
+
+my @IpcExeColumns = ();
+
+sub addToArrayUniquely($$)
+{
+ my ($arrRef, $element) = @_;
+ foreach my $i ( @{$arrRef} ) {
+ if ($i eq $element) {
+ return;
+ }
+ }
+ push @{$arrRef}, $element;
+}
+
+sub outputIpcMap($$$)
+{
+ my ($viewNumber, $lastViewNumber, $ipcRef) = @_;
+ my %ipcExeUsed = ();
+ my $exe;
+ my $ipc;
+ foreach $ipc (@{$ipcRef}) {
+ $exe = $ipc->{Object}->{Name};
+ addToArrayUniquely(\@IpcExeColumns, $exe);
+ $ipcExeUsed{$exe} = 1;
+ }
+
+ # Page number in first column (two rows)
+ #my $style = qq{style="text-align: left; font-family: courier new; white-space: nowrap ; font-size: smaller"};
+ print IPC qq {<tr><td rowspan="2" style="text-align: center">$viewNumber</td>\n};
+
+ # Second and subsequent columns showing the exe names
+ foreach $exe ( @IpcExeColumns ) {
+ my $exe2 = $exe; # why do things go wrong if I operate directly on $exe???
+ $exe2 =~ s/^!//;
+ if (!defined($ipcExeUsed{$exe})) {
+ print IPC qq{<td style="text-align: center ; color: gray">$exe2</td>};
+ } else {
+ print IPC qq{<td style="text-align: center">$exe2</td>};
+ }
+ }
+
+ # next row
+ print IPC qq{</tr>\n<tr>};
+ # for each exe there is column...
+ my $rr;
+ foreach $rr ( @IpcExeColumns ) {
+ print IPC qq{<td>};
+ # ...showing the IPCs
+ foreach my $ref ( @{$ipcRef} ) {
+ if ($ref->{Object}->{Name} eq $rr) {
+ print IPC qq{$ref->{Text}<br>};
+ } else {
+ print IPC qq{<br>};
+ }
+ }
+ print IPC qq{</td>};
+ }
+ print IPC qq {</tr>\n};
+}
#
# Output the "0 1 2 3 4 ..." anchors representing the different views
@@ -1850,6 +1945,34 @@
}
}
+sub processPathArgument($)
+{
+ my $path = $_[0];
+ if ($path) {
+ # ensure "/" at the end
+ if ($path !~ /\/$/) {
+ $path .= "/";
+ }
+ mkdirp($path);
+ return $path;
+ } else {
+ return "";
+ }
+}
+
+sub mkdirp($)
+{
+ my $dirName = @_[0];
+ if ($dirName =~ m/^(.*)\//i) {
+ if ($1 ne "") {
+ mkdirp($1);
+ }
+ }
+ if (! -d $dirName) {
+ mkdir($dirName);
+ }
+}
+
sub outputHTMLEmbedder($$$$$)
{
my ($width, $height, $viewNumber, $lastViewNumber, $fileName) = @_;
@@ -1874,7 +1997,8 @@
$svgPathInHtmlFile = "html/" . $fileName;
$mainPath = "";
}
- open HTML, ">${htmlPath}.html" || die "Cannot open ${htmlPath}.html for writing\n";
+ my $path = $outputPath . $htmlPath . ".html";
+ open HTML, ">$path" || die "Cannot open $path for writing\n";
if (! $opt_f) {
# DOCTYPE needed for "position: fixed" to work in IE
@@ -1917,6 +2041,7 @@
print HTML qq{<input type="button" value="Symbols" onclick="popupSymbols()">\n};
print HTML qq{<input type="button" value="Relations" onclick="popupRelations()">\n};
print HTML qq{<input type="button" value="Map" onclick="popupMap()">\n};
+ print HTML qq{<input type="button" value="IPC Map" onclick="popupIpcMap()">\n};
print HTML qq{ Zoom%\n<input type="text" size=3 maxlength=3 onkeypress="zoom(this,event)" />\n};
if ($opt_f) {
@@ -2010,16 +2135,20 @@
//
function popupSymbols() {
- symbols = window.open(mainPath + "logsym.html", "_blank", "width=400,resizable=yes,scrollbars=yes");
+ symbols = window.open(mainPath + "html/logsym.html", "_blank", "width=400,resizable=yes,scrollbars=yes");
}
function popupRelations() {
- relations = window.open(mainPath + "relations.html", "_blank", "resizable=yes,scrollbars=yes,status=yes");
+ relations = window.open(mainPath + "html/relations.html", "_blank", "resizable=yes,scrollbars=yes,status=yes");
relationsDefined = 1;
}
function popupMap() {
- relations = window.open(mainPath + "logmap.html", "_blank", "resizable=yes,scrollbars=yes,status=yes");
+ relations = window.open(mainPath + "html/logmap.html", "_blank", "resizable=yes,scrollbars=yes,status=yes");
+}
+
+function popupIpcMap() {
+ relations = window.open(mainPath + "html/ipcmap.html", "_blank", "resizable=yes,scrollbars=yes,status=yes");
}
//
--- a/commsfwtools/commstools/svg/relations.pl Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/svg/relations.pl Wed Aug 18 10:59:59 2010 +0300
@@ -154,9 +154,12 @@
my $tabToFontAdjustTopY = 2;
my $tabToFontAdjustBottomY = 1;
my $tabLineLengthY = 5;
+my $outputPath = ""; # output path as specified by "-o <path>" argument
+our($opt_x,$opt_v,$opt_V, $opt_o);
+Getopts("x:vVo:");
-our($opt_x,$opt_v,$opt_V);
-Getopts("x:vV");
+$outputPath = processPathArgument($opt_o);
+
readRelationshipFile();
print "Reading sequences\n" if ($opt_V);
@@ -225,9 +228,15 @@
outputRelationsHTMLEmbedder($width, $height);
sub createOutputFile()
- {
- open SVG, ">relations.svg" || die "Cannot open relations.svg for writing\n";
+{
+ # Have already created the directory $outputPath, just create the "html" subdirectory
+ my $path = $outputPath . "html";
+ if (! -d $path) {
+ mkdir $path;
}
+ $path .= "/relations.svg";
+ open SVG, ">$path" || die "Cannot open $path for writing\n";
+}
sub closeOutputFile()
{
@@ -835,7 +844,9 @@
sub outputRelationsHTMLEmbedder($$)
{
my ($width,$height) = @_;
- open HTML, ">relations.html" || die "Cannot open relations.html for writing\n";
+ # Should have already created $outputPath/html directory.
+ my $path = $outputPath . "html/relations.html";
+ open HTML, ">$path" || die "Cannot open $path for writing\n";
print HTML qq{<html>\n<body onLoad="resize()">\n};
print HTML qq{<embed src="relations.svg" width="$width" height="$height" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" name="embedder">\n};
print HTML qq{<input type="button" value="Animate..." onclick="popupAnimate()">\n};
@@ -875,7 +886,13 @@
#
sub outputAnimateHTML()
{
- open HTML, ">animate.html" || die "Cannot open animate.html for writing\n";
+ # Should have already created $outputPath directory, create html/ subdirectory.
+ my $path = $outputPath . "html";
+ if (! -d $path) {
+ mkdir $path;
+ }
+ $path .= "/animate.html";
+ open HTML, ">$path" || die "Cannot open $path for writing\n";
#################################
# Begin Interpolated Text... #
#################################
@@ -2096,3 +2113,31 @@
{
print SVG ");\n\n";
}
+
+sub processPathArgument($)
+{
+ my $path = $_[0];
+ if ($path) {
+ # ensure "/" at the end
+ if ($path !~ /\/$/) {
+ $path .= "/";
+ }
+ mkdirp($path);
+ return $path;
+ } else {
+ return "";
+ }
+}
+
+sub mkdirp($)
+{
+ my $dirName = @_[0];
+ if ($dirName =~ m/^(.*)\//i) {
+ if ($1 ne "") {
+ mkdirp($1);
+ }
+ }
+ if (! -d $dirName) {
+ mkdir($dirName);
+ }
+}
--- a/commsfwtools/commstools/utracedecoder/data/esockmessages.definition.txt Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/utracedecoder/data/esockmessages.definition.txt Wed Aug 18 10:59:59 2010 +0300
@@ -58,6 +58,7 @@
ImplicitFlow = 112
ConnectionFlow = 113
SubConnectionFlow = 114
+ ActivityDestroyOrphans = 115
GetParamLength = 116
GetParam = 117
ActivitySubConnectionCreate = 118
@@ -405,27 +406,28 @@
// EGetOrSetParameters = 100
EMCprGetConnectionSetting = 101
- ECprRetrieveProgress = 102
- ECprRetrieveLastProgressError = 103
-// ECprRequestServiceNotification = 104
+ ECprRetrieveProgress = 201
+ ECprRetrieveLastProgressError = 202
+// ECprRequestServiceNotification = 203
-// ECprSendIoctl = 105
-// ECprAllSubConnectionNotificationEnable = 106
-// ECprEnumerateConnections = 107
+// ECprSendIoctl = 204
+// ECprAllSubConnectionNotificationEnable = 205
+// ECprEnumerateConnections = 206
-// ELegacyDataMonitoringTransferredRequest = 108
- ELegacyDataMonitoringNotificationRequest = 109
+ ELegacyDataMonitoringTransferredRequest = 207
+ ELegacyDataMonitoringNotificationRequest = 208
- ELegacySubConnectionActiveRequest = 110
+ ELegacySubConnectionActiveRequest = 209
- ELegacyEnumerateSubConnections = 111
+ ELegacyEnumerateSubConnections = 210
- ELegacyControlMessage = 112
- ELegacyConnEnumMessage = 113
+ ELegacyControlMessage = 211
+ ELegacyConnEnumMessage = 212
- ESignatureRMessage2Response = 114
+ ESignatureRMessage2Response = 213
- ELegacyGetSubConnectionInfo = 115
+ ELegacyGetSubConnectionInfo = 214
+
END ENUM
ENUM TDataMonitoringDirection : UINT32
@@ -438,6 +440,16 @@
RMessage2 iMessage
END SIGNATURE
+SIGNATURE TLegacyDataMonitoringTransferredRequest : TCFSigLegacyRMessage2Ext
+ TYPEID = KTCFLegacyMessageRealmId:ELegacyDataMonitoringTransferredRequest
+ UINT32 iClientId
+END SIGNATURE
+
+MESSAGE LegacyDataMonitoringTransferredRequest
+ SIGNATURE = TLegacyDataMonitoringTransferredRequest
+ MESSAGEID = KTCFLegacyMessageRealmId:ELegacyDataMonitoringTransferredRequest
+END MESSAGE
+
SIGNATURE TLegacyDataMonitoringNotificationRequest : TCFSigLegacyRMessage2Ext
TYPEID = KTCFLegacyMessageRealmId:ELegacyDataMonitoringNotificationRequest
TDataMonitoringDirection iDirection
@@ -519,6 +531,17 @@
MESSAGEID = KTCFLegacyMessageRealmId:EMCprGetConnectionSetting
END MESSAGE
+SIGNATURE TLegacyConnectionEnumRequest : TSignalBase
+ TYPEID = KTCFLegacyMessageRealmId:ELegacyConnEnumMessage
+ UINT32 iSCPRCandidates
+ UINT32 iClientType
+END SIGNATURE
+
+MESSAGE LegacyConnectionEnumRequest
+ SIGNATURE = TLegacyConnectionEnumRequest
+ MESSAGEID = KTCFLegacyMessageRealmId:ELegacyConnEnumMessage
+END MESSAGE
+
SIGNATURE TLegacyControlMessage : TCFSigLegacyRMessage2Ext
TYPEID = KTCFLegacyMessageRealmId:ELegacyControlMessage
END SIGNATURE
@@ -530,6 +553,7 @@
SIGNATURE TLegacyGetSubConnectionInfo : TCFSigLegacyRMessage2Ext
TYPEID = KTCFLegacyMessageRealmId:ELegacyGetSubConnectionInfo
+ UINT32 iClientId // TSubSessionUniqueId
TSubConnectionInfo iSubConnectionInfo
END SIGNATURE
@@ -544,6 +568,7 @@
ECFSubConnDataTransferred = 94
EStateChange = 95
ECFTransportNotification = 100
+ ECFDestroyOrphans = 102
END ENUM
MESSAGE SubConnDataTransferred
@@ -561,6 +586,11 @@
MESSAGEID = KTCFMessageRealmId:ECFTransportNotification
END MESSAGE
+MESSAGE DestroyOrphans
+ SIGNATURE = TSigVoid
+ MESSAGEID = KTCFMessageRealmId:ECFDestroyOrphans
+END MESSAGE
+
// ss_nodemessages_availability_control_client.h
CONST KAvailablityControlClientRealmId = 0x10285F3D
ENUM AvailCC_MessageId : UINT16
@@ -604,6 +634,7 @@
CONST KControlClientRealmId = 0x10285F3F
ENUM ControlClient_MessageID : UINT16
ECFGoneDown = 1
+ ECFGoneUp = 2
END ENUM
MESSAGE GoneDown
@@ -611,6 +642,11 @@
MESSAGEID = KControlClientRealmId:ECFGoneDown
END MESSAGE
+MESSAGE TGoneUp
+ SIGNATURE = TSigVoid
+ MESSAGEID = KControlClientRealmId:ECFGoneUp
+END MESSAGE
+
// ss_nodemessages_controlprovider.h
CONST KControlProviderRealmId = 0x10285F40
ENUM ControlProvider_MessageID : UINT16
@@ -1217,3 +1253,32 @@
SIGNATURE = TSigNumberNumber
MESSAGEID = TCFDataMonitoringNotificationRealmId:ECFDataMonitoringNotification
END MESSAGE
+
+// ss_apiext_messages.h
+
+CONST KExtItfMsgImplementationUid = 0x102822F7
+
+ENUM EExtItfMessageId : UINT32
+ EApiExtMsgDispatcher = 0
+ EOpenExtensionInterface = 1
+ ECloseExtensionInterface = 2
+ ECancelAndCloseAllClientExtItf = 3
+END ENUM
+
+SIGNATURE TApiExtMsgDispatcher : TSignalBase
+ TYPEID = KExtItfMsgImplementationUid:EApiExtMsgDispatcher
+ UINT32 iClientId
+ RResponseMsg iResponseMsg
+END SIGNATURE
+
+SIGNATURE TOpenExtensionInterface : TCFSigRMessage2Ext
+ TYPEID = KExtItfMsgImplementationUid:EOpenExtensionInterface
+ UINT32 iClientId
+ UINT32 iInterfaceId
+END SIGNATURE
+
+SIGNATURE TCancelAndCloseAllClientExtItf : TSignalBase
+ TYPEID = KExtItfMsgImplementationUid:ECancelAndCloseAllClientExtItf
+ UINT32 iClientId
+END SIGNATURE
+
--- a/commsfwtools/commstools/utracedecoder/data/ipmessages.definition.txt Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/utracedecoder/data/ipmessages.definition.txt Wed Aug 18 10:59:59 2010 +0300
@@ -71,7 +71,7 @@
ECprGetConnectionSetting = 10
- ELegacyDataMonitoringTransferredRequest = 11
+// ELegacyDataMonitoringTransferredRequest = 11
// ELegacyDataMonitoringNotificationRequest = 12
ELegacyDataMonitoringNotificationCancel = 13
@@ -146,16 +146,6 @@
MESSAGEID = KESockCprLinkExtMessages:ECprEnumerateConnections
END MESSAGE
-SIGNATURE TLegacyDataMonitoringTransferredRequest : TCFSigRMessage2Ext
- TYPEID = KESockCprLinkExtMessages:ELegacyDataMonitoringTransferredRequest
- UINT32 iClientId
-END SIGNATURE
-
-MESSAGE LegacyDataMonitoringTransferredRequest
- SIGNATURE = TLegacyDataMonitoringTransferredRequest
- MESSAGEID = KESockCprLinkExtMessages:ELegacyDataMonitoringTransferredRequest
-END MESSAGE
-
MESSAGE LegacyDataMonitoringNotificationRequest
SIGNATURE = TLegacyDataMonitoringNotificationRequest
MESSAGEID = KESockCprLinkExtMessages:ELegacyDataMonitoringNotificationRequest
@@ -186,19 +176,6 @@
MESSAGEID = KESockCprLinkExtMessages:ELegacyCancelSubConnectionActive
END MESSAGE
-//
-
-CONST KExtItfMsgImplementationUid = 0x102822F7
-
-ENUM EExtItfMessageId : UINT32
- ECancelAndCloseAllClientExtItf = 3
-END ENUM
-
-SIGNATURE TCancelAndCloseAllClientExtItf : TSignalBase
- TYPEID = KExtItfMsgImplementationUid:ECancelAndCloseAllClientExtItf
- UINT32 iClientId
-END SIGNATURE
-
CONST KQoSIpSCprMessagesRealmId = 0x10204307
ENUM EQoSIpSCprMessagesId : UINT32
--- a/commsfwtools/commstools/utracedecoder/data/nodemessages.definition.txt Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/commstools/utracedecoder/data/nodemessages.definition.txt Wed Aug 18 10:59:59 2010 +0300
@@ -452,5 +452,11 @@
// MESSAGEID = KPeerRealmId:EJoinRequest
//END MESSAGE
+STRUCT RResponseMsg
+ RMessage2 iMessage
+ PAD 24 // iInterfaceId
+ UINT8 iRequestMsgParam
+ UINT8 iResponseMsgParam
+ PAD 2
+END STRUCT
-
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/data/meshpreface1.cfg Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/data/meshpreface1.cfg Wed Aug 18 10:59:59 2010 +0300
@@ -257,6 +257,13 @@
FIELD_COUNT=2
END_ADD
+ADD_SECTION
+# COMMDB_ID = 12
+ Name=wlanmcpr
+ MCprUid=0x2001B2D2
+ FIELD_COUNT=2
+END_ADD
+
## PAN Ether MCpr Uid = 271070626 (0x102835A2)
ADD_SECTION
# COMMDB_ID = 13
@@ -458,6 +465,13 @@
FIELD_COUNT=2
END_ADD
+ADD_SECTION
+# COMMDB_ID = 12
+ Name=wlan
+ ProtocolUid=0x2001B2D3
+ FIELD_COUNT=2
+END_ADD
+
############################################################
## BearerTypeTable
##
@@ -611,3 +625,14 @@
Protocol=ProtocolTable.11
FIELD_COUNT=6
END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 14
+ Name=wlannif
+ Tier=Link.TierTable.271064565
+ MCpr=MCprTable.12
+ Cpr=CprTable.3
+ SCpr=SCprTable.3
+ Protocol=ProtocolTable.12
+ FIELD_COUNT=6
+END_ADD
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/data/meshpreface2.cfg Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/data/meshpreface2.cfg Wed Aug 18 10:59:59 2010 +0300
@@ -257,6 +257,13 @@
FIELD_COUNT=2
END_ADD
+ADD_SECTION
+# COMMDB_ID = 12
+ Name=wlanmcpr
+ MCprUid=0x2001B2D2
+ FIELD_COUNT=2
+END_ADD
+
## PAN Ether MCpr Uid = 271070626 (0x102835A2)
ADD_SECTION
# COMMDB_ID = 13
@@ -452,6 +459,19 @@
FIELD_COUNT=2
END_ADD
+ADD_SECTION
+# COMMDB_ID = 11
+ Name=rawip2
+ ProtocolUid=0x10286AF8
+ FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 12
+ Name=wlan
+ ProtocolUid=0x2001B2D3
+ FIELD_COUNT=2
+END_ADD
############################################################
## BearerTypeTable
@@ -585,3 +605,35 @@
FIELD_COUNT=6
END_ADD
+ADD_SECTION
+# COMMDB_ID = 12
+ Name=rawip2
+ Tier=Link.TierTable.271064565
+ MCpr=MCprTable.10
+ Cpr=CprTable.8
+ SCpr=SCprTable.4
+ Protocol=ProtocolTable.11
+ FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+ Name=spud-rawip2
+ Tier=Link.TierTable.271064565
+ MCpr=MCprTable.10
+ Cpr=CprTable.8
+ SCpr=SCprTable.4
+ Protocol=ProtocolTable.11
+ FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 14
+ Name=wlannif
+ Tier=Link.TierTable.271064565
+ MCpr=MCprTable.12
+ Cpr=CprTable.3
+ SCpr=SCprTable.3
+ Protocol=ProtocolTable.12
+ FIELD_COUNT=6
+END_ADD
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/group/ced.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/group/ced.iby Wed Aug 18 10:59:59 2010 +0300
@@ -23,7 +23,12 @@
#include <Xml.iby>
#include <stdlib.iby>
+#ifdef __ROHID_CED
+file=ABI_DIR\DEBUG_DIR\_rohid_ced.exe System\Libs\ced.exe
+#else
file=ABI_DIR\DEBUG_DIR\ced.exe System\Libs\ced.exe
+#endif
+
data=EPOCROOT##epoc32\data\z\system\data\meshpreface1.cfg system\data\meshpreface1.cfg
#endif
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/inc/CXMLContentHandler.h Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/inc/CXMLContentHandler.h Wed Aug 18 10:59:59 2010 +0300
@@ -275,7 +275,7 @@
public:
// Functions to manipulate the database elements
- void AddTableEntry(CXMLTableEntry* aEntry);
+ void AddTableEntryL(CXMLTableEntry* aEntry);
CXMLTableEntry* GetTableEntry(const TInt aIndex);
TInt GetNumberTableEntries() const;
CXMLTableEntry* GetLastTableEntry();
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/src/CXMLContentHandler.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/src/CXMLContentHandler.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -507,7 +507,7 @@
gMsg->Msg(_L("Create new table entry for table : [%S] with operation (%S)"),
&iCurrentTableName, &operation);
- iXmlDb->AddTableEntry(tableEntry);
+ iXmlDb->AddTableEntryL(tableEntry);
return;
}
@@ -1475,11 +1475,11 @@
{
TBuf<MAX_BUFFER_LEN>* name = new(ELeave) TBuf<MAX_BUFFER_LEN>;
name->Copy(aParamName);
- paramName.Append(name);
+ paramName.AppendL(name);
TBuf<MAX_BUFFER_LEN>* value = new(ELeave) TBuf<MAX_BUFFER_LEN>;
value->Copy(aParamValue);
- paramValue.Append(value);
+ paramValue.AppendL(value);
}
// Remove a parameter from the list
@@ -1530,11 +1530,11 @@
}
// Add a table entry to the database given the pointer
-void CXMLDatabase::AddTableEntry(CXMLTableEntry* aEntry)
+void CXMLDatabase::AddTableEntryL(CXMLTableEntry* aEntry)
{
if(aEntry != NULL)
{
- tableEntries.Append(aEntry);
+ tableEntries.AppendL(aEntry);
}
}
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/src/ced.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/src/ced.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -98,7 +98,9 @@
/** flag to indicate whether the execution format is .dll or .exe*/
TBool gIsExeDLL = EFalse;
/** flag to indicate whether the configuration file is in XML format */
-TBool gIsXML = ETrue;
+TBool gIsXML = ETrue;
+/** flag to keep generic records */
+TBool gKeepGenerics = ETrue;
#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
TBool gDeprecatedFields = EFalse;
@@ -293,6 +295,7 @@
}
// delete everything in the database
+ TInt keptElements = 0;
if (ids.Count())
{
for ( TInt i = ids.Count()-1; i >=0 ; i--)
@@ -302,10 +305,18 @@
{
gMsg->Msg(_L("%d"),i);
}
- User::LeaveIfError(storage->Delete(ids[i]));
+ if(!gKeepGenerics || ids[i] < KCDInitialUDefRecordType || ids[i] > KCDLastUDefRecordType)
+ {
+ User::LeaveIfError(storage->Delete(ids[i]));
+ }
+ else
+ {
+ ++keptElements;
+ }
}
}
+ gMsg->Msg(_L("Kept %d elements intact (KeepGenerics option == %d"), keptElements, gKeepGenerics);
TUint32 aErrorId;
err = storage->CommitTransaction(aErrorId);
@@ -690,6 +701,10 @@
return !gProcessingSuccessful;
}
+TBool MatchArg(const TDesC& aArg, const TDesC& aOpt)
+ {
+ return aArg.Left(aOpt.Length()).CompareF(aOpt) == 0;
+ }
TInt ParseCommandLineL(TBool &aDebugOn, TBool &aOverWrite, TBool &aForceXMLProcessing, TDes &aIn, TDes &aOut, TDes &aInPref)
/** Parse the command line for any overriding settings from exe command line
@@ -734,14 +749,14 @@
// CED will report all the failures on the end, unlike success in all the cases except missing cfg file
// Switch introduced because of high impact on test results and to avoid BC break
- if ( arg.FindF(_L("-V")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-V")) )
{
gValidityChecking = ETrue;
continue;
}
//Display help
- if ( arg.FindF(_L("-H")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-H")) )
{
HelpDump();
CleanupStack::Pop(pCmd);
@@ -750,36 +765,50 @@
}
// Append database switch
- if ( arg.FindF(_L("-A")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-A")) )
{
aOverWrite = EFalse;
continue;
}
// Debug switch
- if ( arg.FindF(_L("-D")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-D")) )
{
aDebugOn = ETrue;
continue;
}
// Debug switch
- if ( arg.FindF(_L("-M")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-M")) )
{
aInPref = pCmd->Arg(++i);
continue;
}
+ // Keep generics switch
+ if ( MatchArg(arg, _L("-KG")) )
+ {
+ gKeepGenerics = ETrue;
+ continue;
+ }
+
+ // Zap generics switch
+ if ( MatchArg(arg, _L("-ZG")) )
+ {
+ gKeepGenerics = EFalse;
+ continue;
+ }
+
// Presence of invalid table entry links
// will not cause an error
- if ( arg.FindF(_L("-F")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-F")) )
{
aForceXMLProcessing = ETrue;
continue;
}
// Specification of an input file
- if ( arg.FindF(_L("-I")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-I")) )
{
if( i != pCmd->Count()-1 )
{
@@ -800,7 +829,7 @@
}
}
// Specification of an output file
- if ( arg.FindF(_L("-O")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-O")) )
{
if( i != pCmd->Count()-1 )
{
@@ -823,7 +852,7 @@
// This must be specified on the tools2 platform.
TBuf<16> databaseVersion;
- if ( arg.FindF(_L("-B")) != KErrNotFound )
+ if ( MatchArg(arg, _L("-B")) )
{
if( i != pCmd->Count()-1 )
{
@@ -875,7 +904,7 @@
if ( !bInFound )
{
RFs fs;
- fs.Connect();
+ User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
TUint dummy;
@@ -929,6 +958,8 @@
gConsole->Printf(_L("\n-v Enables validation of the configuration data while writing to the database."));
gConsole->Printf(_L("\n-i Specifies an input file to CED. Must be either *.xml or *.cfg. Defaults to reading '%S' or '%S'."), &CFG_TARGET, &XML_TARGET);
gConsole->Printf(_L("\n-o Specifies an output file for CED to log to. Defaults to '%S'."), &LOG_TARGET);
+ gConsole->Printf(_L("\n-kg Keep existing generic-record elements (default)"));
+ gConsole->Printf(_L("\n-zg Zap all existing elements including generics (unless appending)"));
#ifdef __TOOLS2__
gConsole->Printf(_L("\n-b Specifies the binary output should be compatible with this Symbian OS version.\n"));
#endif
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ced/te_ced/group/te_cedsuite.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/te_ced/group/te_cedsuite.iby Wed Aug 18 10:59:59 2010 +0300
@@ -20,19 +20,19 @@
#include <testexecute.iby>
-file=ABI_DIR\BUILD_DIR\te_cedSuite.exe sys\bin\te_cedSuite.exe
+data=ABI_DIR\BUILD_DIR\te_cedSuite.exe sys\bin\te_cedSuite.exe
data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_cedSuite.ini TestData\configs\te_cedSuite.ini
data=EPOCROOT##Epoc32\winscw\c\TestData\scripts\te_cedSuite.script TestData\Scripts\te_cedSuite.Script
-
+data=EPOCROOT##epoc32\winscw\c\testdata\scripts\te_cedtest.script testdata\scripts\te_cedtest.script
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01.cfg TestData\configs\te_ced_reference_table01.cfg
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01.xml TestData\configs\te_ced_reference_table01.xml
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01_all.cfg TestData\configs\te_ced_reference_table01_all.cfg
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01_IAP_append.cfg TestData\configs\te_ced_reference_table01_IAP_append.cfg
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01_IAP_append.xml TestData\configs\te_ced_reference_table01_IAP_append.xml
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01_IAP_append_tricky.xml TestData\configs\te_ced_reference_table01_IAP_append_tricky.xml
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table01_IAP_append02.cfg TestData\configs\configs/te_ced_reference_table01_IAP_append02.cfg
-data=EPOCROOT##Epoc32\winscw\c\TestData\configs\te_ced_reference_table02.cfg TestData\configs\te_ced_reference_table02.cfg
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01.cfg TestData\configs\te_ced_reference_table01.cfg
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01.xml TestData\configs\te_ced_reference_table01.xml
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01_all.cfg TestData\configs\te_ced_reference_table01_all.cfg
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01_IAP_append.cfg TestData\configs\te_ced_reference_table01_IAP_append.cfg
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01_IAP_append.xml TestData\configs\te_ced_reference_table01_IAP_append.xml
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01_IAP_append_tricky.xml TestData\configs\te_ced_reference_table01_IAP_append_tricky.xml
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table01_IAP_append02.cfg TestData\configs\configs/te_ced_reference_table01_IAP_append02.cfg
+data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_ced_reference_table02.cfg TestData\configs\te_ced_reference_table02.cfg
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/group/_ROHID_ceddump.mmp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/group/_ROHID_ceddump.mmp Wed Aug 18 10:59:59 2010 +0300
@@ -43,6 +43,7 @@
USERINCLUDE ../../ced/inc
LIBRARY euser.lib efsrv.lib bafl.lib commsdat.lib
+LIBRARY centralrepository.lib
CAPABILITY ALL -Tcb
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/group/ceddump.mmp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/group/ceddump.mmp Wed Aug 18 10:59:59 2010 +0300
@@ -39,6 +39,7 @@
USERINCLUDE ../../ced/inc
LIBRARY euser.lib efsrv.lib bafl.lib commsdat.lib
+LIBRARY centralrepository.lib
CAPABILITY ALL -Tcb
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/inc/ceddumper.h Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/inc/ceddumper.h Wed Aug 18 10:59:59 2010 +0300
@@ -26,6 +26,7 @@
#include <e32base.h>
+#include <centralrepository.h>
#include "filedump.h"
#include "ceddumpglobals.h"
@@ -50,6 +51,8 @@
#define TRUE_VAL _S("TRUE")
#define FALSE_VAL _S("FALSE")
+typedef RArray<SGenericRecordTypeInfo> RRecordInfoArray;
+typedef TBuf<KCDMaxFieldNameLength> TGenericTableName;
class CCedDumper : public CBase
{
@@ -93,6 +96,12 @@
//this function doesn't need to be modified.
void ResolveCommsDatTableNameVariant_to_CommdbTableNameVariant(RBuf& aCommsdatTableName);
+ void ListGenericTablesL();
+ void DumpGenericTablesL();
+ void ConvertFieldTypeL(TInt aFieldType, TDes &aConvertedFieldType);
+ void ConvertFieldAttributeL(TInt aFieldAttribute, TDes &aConvertedFieldAttribute);
+ TBool WriteFieldValueL(CMDBGenericRecord* aRecord, const TDesC& aFieldName);
+
private:
CMDBSession* iDbSession; // Session to connect to CenRep
CMDBRecordSetBase *iTable; //To get the Record type
@@ -117,6 +126,11 @@
// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
TBool iUseHexFormat;
TBool iROHIDSupport;
+ CRepository* iRepository;
+
+ RArray<TUint32> iGenericTableIds;
+ RArray<TGenericTableName> iGenericTableNames;
+ RArray<RRecordInfoArray> iGenericTableFields;
};
#endif
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/src/ceddumper.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/src/ceddumper.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -55,6 +55,8 @@
#define KLinkSeparator _L(".")
#define TableNameTag _L("Table")
+const TUid KCommsDatUid = {0xcccccc00};
+
const TText* const gAtttibutesArray[]=
{
Hidden,
@@ -66,7 +68,16 @@
CCedDumper::~CCedDumper()
{
- delete iFileDumper;
+ iGenericTableIds.Close();
+ iGenericTableNames.Close();
+ for(TInt i=0; i<iGenericTableFields.Count();i++)
+ {
+ iGenericTableFields[i].Close();
+ }
+ iGenericTableFields.Close();
+ delete iRepository;
+
+ delete iFileDumper;
delete iDbSession;
delete iConsole;
delete iTable;
@@ -90,6 +101,7 @@
void CCedDumper::ConstructL()
{
iConsole = Console::NewL(_L("Ceddump Tool"),TSize(KConsFullScreen,KConsFullScreen));
+ iRepository = CRepository::NewL(KCommsDatUid);
#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
iR99Conversion = EFalse;
@@ -304,6 +316,8 @@
void CCedDumper::DumpContents()
{
+ ListGenericTablesL();
+ DumpGenericTablesL();
TInt loop = 0;
TBuf<MAX_COL_NAME_LEN> tempTable;
@@ -2181,3 +2195,224 @@
}
#endif
//SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+void CCedDumper::ListGenericTablesL()
+ {
+ TUint32 KMaskForNames = 0x007FFFFF;
+ TUint32 KKeyForNames = KCDMaskShowFieldType | KCDMaskShowRecordId;
+
+
+ RArray<TUint32> tableIds;
+ iRepository->FindL(KKeyForNames, KMaskForNames, tableIds);
+ for(TInt i=0; i<tableIds.Count();i++)
+ {
+ if(tableIds[i] >= KCDInitialUDefRecordType &&
+ tableIds[i] <= KCDLastUDefRecordType)
+ {
+ TBuf<KCDMaxFieldNameLength> name;
+ iRepository->Get(tableIds[i], name);
+ iGenericTableIds.Append(tableIds[i]);
+ iGenericTableNames.Append(name);
+
+ RRecordInfoArray recordInfoArray;
+
+ RArray<TUint32> fields;
+ TUint32 KMaskForFields = 0xFF80FFFF;
+ TUint32 tableId = tableIds[i];
+ iRepository->FindL(tableIds[i], KMaskForFields, fields);
+ for(TInt j=0; j<fields.Count() - 1;j++)
+ //Do not care about the last one as it is a delimiter.
+ {
+ SGenericRecordTypeInfo ptr;
+ TPckg<SGenericRecordTypeInfo> package(ptr);
+
+ iRepository->Get(fields[j], package);
+
+ recordInfoArray.Append(ptr);
+ }
+ iGenericTableFields.Append(recordInfoArray);
+ fields.Close();
+ }
+
+ }
+
+ tableIds.Close();
+ }
+
+void CCedDumper::ConvertFieldTypeL(TInt aFieldType, TDes &aConvertedFieldType)
+ {
+ switch(aFieldType)
+ {
+ case EText:
+ aConvertedFieldType.Copy(_L("EText"));
+ break;
+ case EDesC8:
+ aConvertedFieldType.Copy(_L("EDesC8"));
+ break;
+ case EUint32:
+ aConvertedFieldType.Copy(_L("EUint32"));
+ break;
+ case EInt:
+ aConvertedFieldType.Copy(_L("EInt"));
+ break;
+ case EBool:
+ aConvertedFieldType.Copy(_L("EBool"));
+ break;
+ case EMedText:
+ aConvertedFieldType.Copy(_L("EMedText"));
+ break;
+ case ELongText:
+ aConvertedFieldType.Copy(_L("ELongText"));
+ break;
+ case ELink:
+ aConvertedFieldType.Copy(_L("ELink"));
+ break;
+ default:
+ User::Leave(KErrArgument);
+ }
+
+ }
+
+void CCedDumper::ConvertFieldAttributeL(TInt aFieldAttribute, TDes &aConvertedFieldAttribute)
+ {
+ switch(aFieldAttribute)
+ {
+ case ENoAttrs:
+ aConvertedFieldAttribute.Copy(_L("ENoAttrs"));
+ break;
+ case ENotNull:
+ aConvertedFieldAttribute.Copy(_L("ENotNull"));
+ break;
+ default:
+ User::Leave(KErrArgument);
+ }
+ }
+
+void CCedDumper::DumpGenericTablesL()
+ {
+
+ for(TInt i = 0; i< iGenericTableIds.Count(); i++)
+ {
+ TUint32 tableId = iGenericTableIds[i] & KCDMaskShowRecordType;
+
+ CMDBRecordSet<CMDBGenericRecord>* recordSet = new (ELeave) CMDBRecordSet<CMDBGenericRecord>(tableId);
+ CleanupStack::PushL(recordSet);
+
+
+ iFileDumper->WriteTableHeader(iGenericTableNames[i]);
+
+ //First print out table declaration
+ if(iGenericTableFields[i].Count()>0)
+ {
+ iFileDumper->WriteSectionHeader(-2);
+ _LIT(KFieldStructure, "FIELDSTRUCTURE");
+ _LIT(KFormat, "%08x,%S,%S,%S");
+ TPtrC ptrFieldStructure(KFieldStructure);
+ for(TInt f = 0; f< iGenericTableFields[i].Count(); f++)
+ {
+ // line will hold sth like 00120000,EText,ENotNull,SomeName
+ // its total length is:
+ // hex id : 8 chars
+ // type : max 9 chars
+ // attribute: max 8 chars
+ //
+ TBuf<KCDMaxFieldNameLength + 30> line;
+ // type: max 9 chars
+ TBuf<9> fieldType, fieldAttribute;
+ ConvertFieldTypeL(iGenericTableFields[i][f].iValType, fieldType);
+ ConvertFieldAttributeL(iGenericTableFields[i][f].iTypeAttr, fieldAttribute);
+ line.Format(KFormat, iGenericTableFields[i][f].iTypeId, &fieldType, &fieldAttribute ,&(iGenericTableFields[i][f].iTypeName));
+ TPtrC ptrFieldLine(line);
+ iFileDumper->WriteColumnValue(ptrFieldStructure, ptrFieldLine);
+ }
+ iFileDumper->WriteSectionFooter(-2);
+ }
+
+ TRAPD(err, recordSet->LoadL(*iDbSession));
+ if(err!= KErrNotFound)
+ {
+ User::LeaveIfError(err);
+ }
+
+ for(TInt j = 0; j<recordSet->iRecords.Count();j++)
+ {
+ iFileDumper->WriteSectionHeader(recordSet->iRecords[j]->RecordId());
+ TInt noOfFields(0);
+ for(TInt k = 0; k < iGenericTableFields[i].Count(); k++)
+ {
+ SGenericRecordTypeInfo recordTypeInfo = iGenericTableFields[i][k];
+ if(WriteFieldValueL(reinterpret_cast<CMDBGenericRecord*>(recordSet->iRecords[j]), iGenericTableFields[i][k].iTypeName))
+ {
+ noOfFields++;
+ }
+ }
+ iFileDumper->WriteFieldCount(noOfFields);
+ iFileDumper->WriteSectionFooter(recordSet->iRecords[j]->RecordId());
+ }
+ CleanupStack::PopAndDestroy(recordSet);
+ }
+ }
+
+TBool CCedDumper::WriteFieldValueL(CMDBGenericRecord* aRecord, const TDesC& aFieldName)
+ {
+ TInt valType;
+ TPtrC ptrFieldName(aFieldName);
+ TBuf<20> bufVal;
+ CMDBElement* element = aRecord->GetFieldByNameL(aFieldName, valType);
+ if(element->IsNull())
+ {
+ return EFalse;
+ }
+ switch(valType)
+ {
+ case EText:
+ case EMedText:
+ case ELongText:
+ {
+ CMDBField<TDesC>* textField = static_cast<CMDBField<TDesC> *>(element);
+ TPtrC ptrTextField(*textField);
+ iFileDumper->WriteColumnValue(ptrFieldName, ptrTextField);
+ break;
+ }
+ case EDesC8:
+ {
+ CMDBField<TDesC8>* text8Field = static_cast<CMDBField<TDesC8> *>(element);
+ TPtrC8 ptrText8Field(*text8Field);
+ iFileDumper->WriteColumnValue(ptrFieldName, reinterpret_cast<TPtrC&>(ptrText8Field));
+ break;
+ }
+ case EInt:
+ {
+ TInt intVal;
+ CMDBField<TInt>* intField = static_cast<CMDBField<TInt> *>(element);
+ intVal = *intField;
+ bufVal.Num(intVal);
+ TPtrC ptrIntField(bufVal.MidTPtr(0));
+ iFileDumper->WriteColumnValue(ptrFieldName, ptrIntField);
+ break;
+ }
+ case EBool:
+ {
+ TBool boolVal;
+ CMDBField<TInt>* boolField = static_cast<CMDBField<TInt> *>(element);
+ boolVal = *boolField;
+ TPtrC ptrBoolField(boolVal?TRUE_VAL:FALSE_VAL);
+ iFileDumper->WriteColumnValue(ptrFieldName, ptrBoolField);
+ break;
+ }
+ case EUint32:
+ case ELink:
+ {
+ TInt int32Val;
+ CMDBField<TInt>* int32Field = static_cast<CMDBField<TInt> *>(element);
+ int32Val = *int32Field;
+ bufVal.Num(int32Val);
+ TPtrC ptrInt32Field(bufVal.MidTPtr(0));
+ iFileDumper->WriteColumnValue(ptrFieldName, ptrInt32Field);
+ break;
+ }
+ default:
+ User::Leave(KErrArgument);
+ }
+ return ETrue;
+ }
--- a/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/src/filedump.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/src/filedump.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -99,6 +99,9 @@
case 0:
iBuffer.Copy(_L("ADD_TEMPLATE\r\n"));
break;
+ case -2:
+ iBuffer.Copy(_L("ADD_DEFINITION\r\n"));
+ break;
default:
iBuffer.Format(_L("ADD_SECTION\r\n# COMMDB_ID = %d\r\n"),
aCommDbId);
@@ -210,6 +213,10 @@
{
iBuffer.Copy(_L("END_TEMPLATE\r\n\r\n"));
}
+ else if (aCommDbId == -2)
+ {
+ iBuffer.Copy(_L("END_DEFINITION\r\n\r\n"));
+ }
else
{
iBuffer.Copy(_L("END_ADD\r\n\r\n"));
--- a/commsfwtools/preparedefaultcommsdatabase/src/CommsDatSessionImpl.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/src/CommsDatSessionImpl.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -157,8 +157,13 @@
return KErrNone;
}
- __FLOG_STATIC1(KLogComponent, KCDInfoLog, _L("*** CMDBSessionImpl::ConstructL() constructing session object object <%08x>"), this);
-
+#ifdef __FLOG_ACTIVE
+ RThread self;
+ TBuf<KMaxFullName> name;
+ self.FullName(name);
+ __FLOG_STATIC2(KLogComponent, KCDInfoLog, _L("*** CMDBSessionImpl::ConstructL() constructing session object <%08x> in thread \"%S\""), this, &name);
+#endif
+
EstablishVersionL(aRequiredVersion);
// Connect to the repository
@@ -187,6 +192,7 @@
@internalComponent
*/
{
+ __FLOG_STATIC1(KLogComponent, KCDInfoLog, _L("*** CMDBSessionImpl::Close() closing session object <%08x>"), this);
#ifndef __TOOLS2__
TRAPD(
err,
--- a/commsfwtools/preparedefaultcommsdatabase/src/MetaDatabaseVisitor.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwtools/preparedefaultcommsdatabase/src/MetaDatabaseVisitor.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -235,7 +235,7 @@
{
if ( KErrNotFound == fieldIds.Find(aRecordIds[i], CompareByRecordId) )
{
- aCandidateIds.Append(aRecordIds[i]);
+ aCandidateIds.AppendL(aRecordIds[i]);
}
}
CleanupStack::PopAndDestroy(&fieldIds);
--- a/commsfwutils/commsbufs/mbufmgr/src/mb_chn.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwutils/commsbufs/mbufmgr/src/mb_chn.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -281,7 +281,7 @@
if(First())
{
newChain.iNext = First()->Pool()->Pond().Alloc(len + aHdrReserve, 0, KMaxTInt);
- err = iNext ? KErrNone : KErrNoMBufs;
+ err = newChain.iNext ? KErrNone : KErrNoMBufs;
}
else
{
--- a/commsprocess/commsrootserverconfig/CapTestFw_Configurator/common/Te_Cap_Configurator.IBY Fri Jun 11 14:52:21 2010 +0300
+++ b/commsprocess/commsrootserverconfig/CapTestFw_Configurator/common/Te_Cap_Configurator.IBY Wed Aug 18 10:59:59 2010 +0300
@@ -18,6 +18,10 @@
#ifndef __Cap_PARAM_SVR_SUITENAME_IBY__
#define __Cap_PARAM_SVR_SUITENAME_IBY__
-file=ABI_DIR\DEBUG_DIR\Cap_PARAM_SVR_SUITENAME.exe System\bin\Cap_PARAM_SVR_SUITENAME.exe
-
+data=ABI_DIR\DEBUG_DIR\Cap_PARAM_SVR_SUITENAME.exe System\bin\Cap_PARAM_SVR_SUITENAME.exe
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Te_cap_configurator.script TestData\Scripts\Te_cap_configurator.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000000_Te_Cap_ConfiguratorSub.script TestData\Scripts\Cap_00000000_Te_Cap_ConfiguratorSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000004_Te_Cap_ConfiguratorSub.script TestData\Scripts\Cap_00000004_Te_Cap_ConfiguratorSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000400_Te_Cap_ConfiguratorSub.script TestData\Scripts\Cap_00000400_Te_Cap_ConfiguratorSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000404_Te_Cap_ConfiguratorSub.script TestData\Scripts\Cap_00000404_Te_Cap_ConfiguratorSub.script
#endif
--- a/commsprocess/commsrootserverconfig/Te_Configurator/util/src/configloader.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/commsprocess/commsrootserverconfig/Te_Configurator/util/src/configloader.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -437,7 +437,7 @@
// Leave with last seen error, if any
if(err!=KErrNone)
{
- User::Leave(err);
+// User::Leave(err);
}
}
--- a/datacommsserver/esockserver/CoreProviders/src/coremcpractivities.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/CoreProviders/src/coremcpractivities.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -689,7 +689,7 @@
CSelectNextLayerActivity& ac = static_cast<CSelectNextLayerActivity&>(*iContext.iNodeActivity);
TCFSelector::TSelectComplete& msg = message_cast<TCFSelector::TSelectComplete>(iContext.iMessage);
- ac.iSelectCompleteMessages.Append(msg);
+ ac.iSelectCompleteMessages.AppendL(msg);
}
EXPORT_DEFINE_SMELEMENT(CSelectNextLayerActivity::TJoinTierManager, NetStateMachine::MStateTransition, CSelectNextLayerActivity::TContext)
--- a/datacommsserver/esockserver/core_states/ss_corepractivities.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/core_states/ss_corepractivities.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -1113,7 +1113,7 @@
{
__ASSERT_DEBUG(aDataClient, User::Panic(KCorePrPanic, KPanicDataClient));
__ASSERT_DEBUG(iSuccessfulDataClients.Find(aDataClient) == KErrNotFound, User::Panic(KCorePrPanic, KPanicIncorrectState));
- iSuccessfulDataClients.Append(aDataClient);
+ iSuccessfulDataClients.AppendL(aDataClient);
}
void CBindToActivity::RemoveClientFromSuccessful(Messages::RNodeInterface* aDataClient)
--- a/datacommsserver/esockserver/core_states/ss_coreprstates.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/core_states/ss_coreprstates.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -540,7 +540,7 @@
}
else
{
- __CFLOG_VAR((KCoreProviderStatesTag, KCoreProviderStatesSubTag, _L8("TSendDestroyToSendingDataClient::DoL - client not destroyed, because it is started or has been requested again")));
+ __CFLOG_VAR((KCoreProviderStatesTag, KCoreProviderStatesSubTag, _L8("TSendDestroyToSendingDataClient::DoL - client not destroyed, because it is started or has been requested again [flags %x]"), iContext.iPeer->Flags()));
TSendDataClientIdleIfNoClients(iContext).DoL();
}
}
--- a/datacommsserver/esockserver/etc/esock_dip.cmi Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/etc/esock_dip.cmi Wed Aug 18 10:59:59 2010 +0300
@@ -11,7 +11,7 @@
ScaledStartupState=0x3040
HeapOption=ENewHeap
MinHeapSize=256
-MaxHeapSize=524288
+MaxHeapSize=5242880
SystemCritical=0
SystemCriticalAfterInit=1
Binding0=ESock_DIP:1,ESock_Main:0,ECustom,15,15
--- a/datacommsserver/esockserver/inc/ss_connstates.h Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/inc/ss_connstates.h Wed Aug 18 10:59:59 2010 +0300
@@ -373,6 +373,7 @@
virtual ~CStartAttachActivity();
virtual TBool Next(MeshMachine::TNodeContextBase& aContext);
+ virtual void Cancel(MeshMachine::TNodeContextBase& aContext);
void ReturnInterfacePtrL(CoreActivities::ABindingActivity*& aInterface)
{
--- a/datacommsserver/esockserver/ssock/ss_conn.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_conn.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -267,8 +267,7 @@
// Handshake a shutdown of AllInterfaceNotificationWorker (send TCancel, await TError).
NODEACTIVITY_ENTRY(ConnStates::KCancelAllInterfaceWorker, ConnStates::TCancelAllInterfaceNotificationWorker, TAwaitingMessageState<TEBase::TError>, MeshMachine::TNoTag)
THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TCancelAllLegacyRMessage2Activities, ConnStates::TNoTagBlockedByLegacyRMessage2Activities)
- NODEACTIVITY_ENTRY(KNoTag, ConnStates::TProcessClose, TECABState<MeshMachine::TAwaitingLeaveComplete>, MeshMachine::TNoTag)
- //TDestroyAwaitingLeaveCompleteLoop loops back to its own triple if more SPs
+ THROUGH_NODEACTIVITY_ENTRY(KNoTag, ConnStates::TProcessClose, MeshMachine::TNoTag)
NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing, TECABState<MeshMachine::TAwaitingLeaveComplete>, CoreActivities::CDestroyActivity::TNoTagOrNoTagBackwards)
LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing)
NODEACTIVITY_END()
--- a/datacommsserver/esockserver/ssock/ss_connselect.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_connselect.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -131,11 +131,10 @@
{
RNodeInterface::OpenPostMessageClose(Id(), aSender, TEChild::TLeft().CRef());
iActiveRequests[idx].SetFlags(TClientType::ELeaving);
- }
-
- if (aSender == iTopMcprId)
- {
- iTopMcprId.SetNull();
+ if (aSender == iTopMcprId)
+ {
+ iTopMcprId.SetNull();
+ }
}
}
SelectionError(aSender, error.iValue);
@@ -260,9 +259,18 @@
__ASSERT_DEBUG(!iDestroying, User::Panic(KSpecAssert_ESockSSockscnslc, 17));
iDestroying = ETrue;
- //We are not ready to destruct ourselves yet, waiting for TErrors
if (iActiveRequests.Count()!=0)
{
+ /*
+ Unfortunatelly today the parent of 'this' (CConnection or CFlowRequest) doesn't handle ownership
+ with 'this' very well and it may (in cancelation scenarios it will) bail out right after posting TDestroy
+ to 'this'. This is not good because the TSelect protocol carries data owned by the parent (selection preferences)
+ and MCPRs may attempt to access them after the owner/parent has gone away. We're making it illegal for the
+ parent to post TDestroy before all requests are completed. Consequently before posting TDestroy the parent
+ must make sure the selection is complete by awaiting response to the TSelect protocol. If it wants to
+ terminate selection it _must_ send TCancel (and await responses) before posting TDestroy.
+ */
+ __ASSERT_DEBUG(EFalse, User::Panic(KSpecAssert_ESockSSockscnslc, 44));
return;
}
--- a/datacommsserver/esockserver/ssock/ss_connstates.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_connstates.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -927,6 +927,20 @@
return nextRet;
}
+void ConnActivities::CStartAttachActivity::Cancel(MeshMachine::TNodeContextBase& aContext)
+ {
+ if (!iCSR.IsNull() && iCSR == PostedToNodeId())
+ {//iCSR is a bit akward as it isn't stored in the Node's client array. MeshMachine auto-cancelling refuses to auto-forward TCancels
+ //to nodes it can't verify they are alive. CStartAttachActivity can warrant iCSR is alive.
+ RClientInterface::OpenPostMessageClose(TNodeCtxId(ActivityId(), iNode.Id()), PostedToNodeId(), TEBase::TCancel().CRef());
+ SetError(KErrCancel);
+ }
+ else
+ {
+ CESockClientActivityBase::Cancel(aContext);
+ }
+ }
+
DEFINE_SMELEMENT(CStartAttachActivity::TNoTagOrStartPrefsSetTag, NetStateMachine::MStateFork, ConnStates::TContext)
TInt CStartAttachActivity::TNoTagOrStartPrefsSetTag::TransitionTag()
--- a/datacommsserver/esockserver/ssock/ss_intsock.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_intsock.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -2012,7 +2012,14 @@
// __ASSERT_DEBUG(State()!=ESStateCreated,Panic(EBadStateUpCall)); // no longer forced into shuttingdown state upon half-close
__ASSERT_DEBUG(State()!=ESStateClosing,Panic(EBadStateUpCall));
__ASSERT_DEBUG(!(iBlockedOperations&EReadStopped),Panic(EBadStateUpCall));
- __ASSERT_DEBUG(State()!=ESStateError,Panic(EBadStateUpCall));
+
+ // The socket can now be errored from the control side as well as from the protocol below. Hence, the socket
+ // can receive an upcall while in the errored state as the protocol is unaware of the socket errored state.
+ // Specific scenario is that TransportFlowShim receives a DataClientStop(KErrForceDisconnect), places the socket
+ // in the errored state and, subsequently, the TCP/IP stack issues NewData(KNewDataEndofData) as a result of an
+ // incoming FIN.
+ //__ASSERT_DEBUG(State()!=ESStateError,Panic(EBadStateUpCall));
+
__ASSERT_DEBUG(State()!=ESStateDisconnected,Panic(EBadStateUpCall));
// zero is used in v1.5 to resume after reneging __ASSERT_DEBUG(aCount>0,Panic(EBadDataCount));
@@ -2056,7 +2063,8 @@
__ASSERT_DEBUG(State()!=ESStateCreated,Panic(EBadStateUpCall));
__ASSERT_DEBUG(State()!=ESStateClosing,Panic(EBadStateUpCall));
__ASSERT_DEBUG(State()!=ESStateShuttingDown,Panic(EBadStateUpCall));
- __ASSERT_DEBUG(State()!=ESStateError,Panic(EBadStateUpCall));
+ // See comment in ASocket::NewData() as to why the errored state is valid here.
+ //__ASSERT_DEBUG(State()!=ESStateError,Panic(EBadStateUpCall));
__ASSERT_DEBUG(State()!=ESStateDisconnected,Panic(EBadStateUpCall));
TBool writeflowedoff = iBlockedOperations&EWriteFlowedOff;
@@ -2080,7 +2088,11 @@
//__ASSERT_DEBUG(State()==ESStateOpeningActive,Panic(EBadStateUpCall));
if (IsConnectionOriented())
{
- SetState(ESStateConnected);
+ // See comment in ASocket::NewData() as to why the errored state is valid here.
+ if (State() != ESStateError)
+ {
+ SetState(ESStateConnected);
+ }
//__ASSERT_DEBUG(IsBlockedConnect(), Panic(EUnexpectedConnect));
// assertion is invalid because operation could have been cancelled MarkT
CompleteConnect(KErrNone);
@@ -2112,7 +2124,8 @@
Called from protocol to indicate that a passive open has completed
*/
{
- __ASSERT_DEBUG(State()==ESStateOpeningPassive,Panic(EBadStateUpCall));
+ // See comment in ASocket::NewData() as to why the errored state is valid here.
+ __ASSERT_DEBUG(State()==ESStateOpeningPassive || State()==ESStateError,Panic(EBadStateUpCall));
__ASSERT_ALWAYS(iAcceptQ, Panic(ENotListeningSocket));
__ASSERT_ALWAYS(iAcceptQ->Count()<iAcceptQ->Length(), Panic(EAcceptQueFull));
@@ -2296,11 +2309,15 @@
*/
{
__ASSERT_ALWAYS(IsConnectionOriented(),Panic(EBadDisconnect));
- __ASSERT_DEBUG(State()==ESStateConnected || State()==ESStateShuttingDown,Panic(EBadStateUpCall));
+ // See comment in ASocket::NewData() as to why the errored state is valid here.
+ __ASSERT_DEBUG(State()==ESStateConnected || State()==ESStateShuttingDown || State()==ESStateError, Panic(EBadStateUpCall));
iDisconnectDataError=KErrNone;
- SetState(CanReconnect() ? ESStateCreated : ESStateDisconnected);
+ if (State() != ESStateError)
+ {
+ SetState(CanReconnect() ? ESStateCreated : ESStateDisconnected);
+ }
CompleteWrite(KErrDisconnected);
CompleteRead(KErrDisconnected);
CompleteConnect(KErrDisconnected);
@@ -2313,7 +2330,8 @@
*/
{
__ASSERT_DEBUG(IsConnectionOriented(),Panic(EBadDisconnect));
- __ASSERT_DEBUG(State()==ESStateConnected || State()==ESStateShuttingDown,Panic(EBadStateUpCall));
+ // See comment in ASocket::NewData() as to why the errored state is valid here.
+ __ASSERT_DEBUG(State()==ESStateConnected || State()==ESStateShuttingDown || State()==ESStateError,Panic(EBadStateUpCall));
Disconnect();
iDisconnectData=aDisconnectData.Alloc();
--- a/datacommsserver/esockserver/ssock/ss_sap.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_sap.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -227,6 +227,10 @@
{
SetIdle();
ProcessDCIdleState();
+ if(!IdleSent())
+ {
+ LOG( ESockLog::Printf(_L("CNetworkFlow %08x:\tUnbind() - idle not sent"), this) );
+ }
}
}
else
@@ -255,6 +259,10 @@
if (Idle() && !IdleSent() && !NoBearerGuard())
#endif
{
+ if(Started())
+ {
+ iSubConnectionProvider.PostMessage(Id(), TCFControlProvider::TDataClientGoneDown(KErrConnectionTerminated).CRef());
+ }
SetIdleSent();
iSubConnectionProvider.PostMessage(Id(), TCFControlProvider::TIdle().CRef());
}
--- a/datacommsserver/esockserver/test/CapTests/RConnServ/Common/Server.csv Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/CapTests/RConnServ/Common/Server.csv Wed Aug 18 10:59:59 2010 +0300
@@ -1,2 +1,2 @@
Name,MajorName,MinorName,BuildName,ListHeaderFile,Panic,SuiteName,SourceDirectory,TemplateDirectory,MessageFile,TemplateFile,Libraries,UserInclude,SystemInclude,BuildOK,ConnectCapability,CapExcept,AllNegative
-!ConnectionServer,KES32MajorVersionNumber,KES32MinorVersionNumber,KES32BuildVersionNumber,es_ver.h,TESockPanic,Te_Cap_RConnServ,..\..\CapTestSourceEsock_RConnServ,.,Message.csv,Template.csv,euser.lib c32root.lib commsfw.lib esocksvr.lib insock.lib esock.lib,.\,\epoc32\include,yes,,,1
+!ConnectionServer,KES32MajorVersionNumber,KES32MinorVersionNumber,KES32BuildVersionNumber,es_ver.h,TESockPanic,Te_Cap_RConnServ,..\..\CapTestSourceEsock_RConnServ,.,Message.csv,Template.csv,euser.lib c32root.lib commsfw.lib esocksvr.lib insock.lib esock.lib netmeta.lib,.\,\epoc32\include,yes,,,1
--- a/datacommsserver/esockserver/test/CapTests/RConnServ/Common/Te_Cap_RConnServ.IBY Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/CapTests/RConnServ/Common/Te_Cap_RConnServ.IBY Wed Aug 18 10:59:59 2010 +0300
@@ -18,6 +18,8 @@
#ifndef __Cap_PARAM_SVR_SUITENAME_IBY__
#define __Cap_PARAM_SVR_SUITENAME_IBY__
-file=ABI_DIR\DEBUG_DIR\Cap_PARAM_SVR_SUITENAME.DLL System\bin\Cap_PARAM_SVR_SUITENAME.DLL
-
+data=ABI_DIR\DEBUG_DIR\PARAM_SVR_SUITENAME.exe Sys\bin\PARAM_SVR_SUITENAME.exe
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Te_Cap_RConnServ.script TestData\Scripts\Te_Cap_RConnServ.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000000_RConnServSub.script TestData\Scripts\Cap_00000000_RConnServSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002000_RConnServSub.script TestData\Scripts\Cap_00002000_RConnServSub.script
#endif
--- a/datacommsserver/esockserver/test/CapTests/Resolver/Common/Te_Cap_RES.IBY Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/CapTests/Resolver/Common/Te_Cap_RES.IBY Wed Aug 18 10:59:59 2010 +0300
@@ -27,6 +27,6 @@
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000400_RESSub.script TestData\Scripts\Cap_00000400_RESSub.script
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002000_ReSSub.script TestData\Scripts\Cap_00002000_ResSub.script
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002400_ReSSub.script TestData\Scripts\Cap_00002400_ReSSub.script
-
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_80000000_RESSub.script TestData\Scripts\Cap_80000000_RESSub.script
#endif
--- a/datacommsserver/esockserver/test/CapTests/Socket/Common/Te_Cap_Esock.IBY Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/CapTests/Socket/Common/Te_Cap_Esock.IBY Wed Aug 18 10:59:59 2010 +0300
@@ -27,6 +27,6 @@
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000400_EsockSub.script TestData\Scripts\Cap_00000400_EsockSub.script
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002000_EsockSub.script TestData\Scripts\Cap_00002000_EsockSub.script
data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002400_EsockSub.script TestData\Scripts\Cap_00002400_EsockSub.script
-
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_80000000_EsockSub.script TestData\Scripts\Cap_80000000_EsockSub.script
#endif
--- a/datacommsserver/esockserver/test/TE_DummyProvider/configs/te_dummyprovider_003.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/configs/te_dummyprovider_003.ini Wed Aug 18 10:59:59 2010 +0300
@@ -18,6 +18,9 @@
SNAP=30
Asynch=TRUE
+[WaitUntilStuffStucks]
+TimeoutInMilliSeconds=600
+
[StopConn1]
ConnName=Conn1
ConnStopType=EStopNormal
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/configs/te_dummyprovider_010.ini Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,29 @@
+[CreateSockSvr1]
+SocketServName=SockSvr1
+
+[CreateConn1]
+ConnName=Conn1
+
+[ConnectSockSvr1]
+SocketServName=SockSvr1
+
+[OpenConn1]
+ConnName=Conn1
+SocketServName=SockSvr1
+ConnType=271069227
+
+[StartConn1]
+ConnName=Conn1
+SocketServName=SockSvr1
+SNAP=10
+ConnType=271069227
+
+[StopConn1]
+ConnName=Conn1
+ConnStopType=EStopNormal
+
+[CloseConn1]
+ConnName=Conn1
+
+[CloseSockSvr1]
+SocketServName=SockSvr1
\ No newline at end of file
--- a/datacommsserver/esockserver/test/TE_DummyProvider/group/TE_DummyProvider.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/group/TE_DummyProvider.iby Wed Aug 18 10:59:59 2010 +0300
@@ -28,6 +28,8 @@
data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_005.script TestData\scripts\te_dummyprovider_005.script
data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_006.script TestData\scripts\te_dummyprovider_006.script
data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_008.script TestData\scripts\te_dummyprovider_008.script
+data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_008.script TestData\scripts\te_dummyprovider_009.script
+data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_008.script TestData\scripts\te_dummyprovider_010.script
data=EPOCROOT##epoc32\data\z\TestData\scripts\te_dummyprovider_incomingSCPR.script TestData\scripts\te_dummyprovider_incomingSCPR.script
data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyproviders.cfg TestData\configs\te_dummyproviders.cfg
@@ -38,5 +40,7 @@
data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyprovider_005.ini TestData\configs\te_dummyprovider_005.ini
data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyprovider_006.ini TestData\configs\te_dummyprovider_006.ini
data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyprovider_008.ini TestData\configs\te_dummyprovider_008.ini
+data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyprovider_008.ini TestData\configs\te_dummyprovider_009.ini
+data=EPOCROOT##epoc32\data\z\TestData\configs\te_dummyprovider_008.ini TestData\configs\te_dummyprovider_010.ini
#endif // __TE_DummyProviders_IBY__
--- a/datacommsserver/esockserver/test/TE_DummyProvider/group/bld.inf Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/group/bld.inf Wed Aug 18 10:59:59 2010 +0300
@@ -28,11 +28,11 @@
../scripts/te_dummyprovider_004.script z:/testdata/scripts/te_dummyprovider_004.script
../scripts/te_dummyprovider_005.script z:/testdata/scripts/te_dummyprovider_005.script
../scripts/te_dummyprovider_006.script z:/testdata/scripts/te_dummyprovider_006.script
+../scripts/te_dummyprovider_008.script z:/testdata/scripts/te_dummyprovider_008.script
../scripts/te_dummyprovider_009.script z:/testdata/scripts/te_dummyprovider_009.script
+../scripts/te_dummyprovider_010.script z:/testdata/scripts/te_dummyprovider_010.script
-../scripts/te_dummyprovider_008.script z:/testdata/scripts/te_dummyprovider_008.script
-
../scripts/te_dummyprovider_incomingSCPR.script z:/testdata/scripts/te_dummyprovider_incomingscpr.script
../configs/te_dummyproviders.cfg z:/testdata/configs/te_dummyproviders.cfg
../configs/te_dummyprovider_001.ini z:/testdata/configs/te_dummyprovider_001.ini
@@ -41,8 +41,7 @@
../configs/te_dummyprovider_004.ini z:/testdata/configs/te_dummyprovider_004.ini
../configs/te_dummyprovider_005.ini z:/testdata/configs/te_dummyprovider_005.ini
../configs/te_dummyprovider_006.ini z:/testdata/configs/te_dummyprovider_006.ini
+../configs/te_dummyprovider_008.ini z:/testdata/configs/te_dummyprovider_008.ini
../configs/te_dummyprovider_009.ini z:/testdata/configs/te_dummyprovider_009.ini
+../configs/te_dummyprovider_010.ini z:/testdata/configs/te_dummyprovider_010.ini
../configs/TE_DummyProvider_ip.tcpip.esk z:/testdata/configs/TE_DummyProvider_ip.tcpip.esk
-
-
-../configs/te_dummyprovider_008.ini z:/testdata/configs/te_dummyprovider_008.ini
--- a/datacommsserver/esockserver/test/TE_DummyProvider/scripts/te_dummyprovider.script Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/scripts/te_dummyprovider.script Wed Aug 18 10:59:59 2010 +0300
@@ -34,6 +34,8 @@
RUN_SCRIPT z:\testdata\scripts\te_dummyprovider_006.script
RUN_SCRIPT z:\testdata\scripts\te_dummyprovider_008.script
RUN_SCRIPT z:\testdata\scripts\te_dummyprovider_009.script
+RUN_SCRIPT z:\testdata\scripts\te_dummyprovider_010.script
+
RUN_SCRIPT z:\testdata\scripts\te_esock_test_unloadesockForced.script
RUN_SCRIPT z:\testdata\scripts\te_esock_test_remove_config_files.script
--- a/datacommsserver/esockserver/test/TE_DummyProvider/scripts/te_dummyprovider_003.script Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/scripts/te_dummyprovider_003.script Wed Aug 18 10:59:59 2010 +0300
@@ -32,6 +32,10 @@
RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_dummyprovider_003.ini ConnectSockSvr1
RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_dummyprovider_003.ini OpenConn1
RUN_TEST_STEP 100 te_esockteststepsSuite startrconnectionStep z:\testdata\configs\te_dummyprovider_003.ini StartConn1
+
+//Let the test get stuck where we want to get stuck first (otherwise we may be cancelling prematurely).
+RUN_TEST_STEP 100 te_esockteststepsSuite waitStep z:\testdata\configs\te_dummyprovider_003.ini WaitUntilStuffStucks
+
RUN_TEST_STEP 100 te_esockteststepsSuite stoprconnectionStep z:\testdata\configs\te_dummyprovider_003.ini StopConn1
RUN_TEST_STEP 100 te_esockteststepsSuite AwaitRConnectionStartComplete z:\testdata\configs\te_dummyprovider_003.ini WaitStartComplete1
RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_dummyprovider_003.ini CloseConn1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/TE_DummyProvider/scripts/te_dummyprovider_010.script Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,48 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRINT Running CASE010
+PRINT Two dummy layers able to start successfully
+PRINT Execute the crazy start/wait/stop loop increasing wait with every iteration.
+PRINT See how the stack manages cancelations at distinct stages.
+
+
+//
+LOAD_SUITE te_esockteststepsSuite -SharedData
+RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE COMINF-ESOCK-DummyProviders-010
+//! @SYMTestCaseID COMINF-ESOCK-DummyProviders-010
+//! @SYMTestCaseDesc Tests the resiliance of the RConnection::Start to cancelations (induced by RConnection::Stop).
+//! @SYMTestActions Execute the crazy start/wait/stop loop increasing wait with every iteration.
+//! @SYMTestExpectedResults No crashes, all operations complete (typically with KErrCancel, but that's not cared for)
+//! @SYMTestPriority Critical
+//! @SYMTestType CT
+//! @SYMComponent comms-infras_esock
+
+RUN_TEST_STEP 100 te_esockteststepsSuite creatersocketservStep z:\testdata\configs\te_dummyprovider_010.ini CreateSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite createrconnectionStep z:\testdata\configs\te_dummyprovider_010.ini CreateConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_dummyprovider_010.ini ConnectSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_dummyprovider_010.ini OpenConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite StartStopCrazyLoopRConnectionStep z:\testdata\configs\te_dummyprovider_010.ini StartConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_dummyprovider_010.ini CloseConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite closersocketservStep z:\testdata\configs\te_dummyprovider_010.ini CloseSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite cleanallStep
+END_TESTCASE COMINF-ESOCK-DummyProviders-010
+
+RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
+
+PRINT Completed CASE010
--- a/datacommsserver/esockserver/test/TE_ESock/TestSuiteEsock.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_ESock/TestSuiteEsock.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -79,20 +79,10 @@
// Third phase constructor for ESOCK test suite
void CTestSuiteEsock::InitialiseL( void )
{
- TInt ret = User::LoadPhysicalDevice( PDD_NAME );
- if ( KErrNone != ret && KErrAlreadyExists != ret )
- {
- User::Leave( ret );
- }
- ret = User::LoadLogicalDevice( LDD_NAME );
- if ( KErrNone != ret && KErrAlreadyExists != ret )
- {
- User::Leave( ret );
- }
// When bootstrapping C32 we have to avoid the PhBkSyncServer being started, since
// it needs a different CommDB
_LIT(KPhbkSyncCMI, "phbsync.cmi");
- ret = StartC32WithCMISuppressions(KPhbkSyncCMI);
+ TInt ret = StartC32WithCMISuppressions(KPhbkSyncCMI);
if ( KErrNone != ret && KErrAlreadyExists != ret )
{
User::Leave( ret );
--- a/datacommsserver/esockserver/test/TE_ESock/group/bld.inf Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_ESock/group/bld.inf Wed Aug 18 10:59:59 2010 +0300
@@ -56,6 +56,7 @@
../scriptfiles/te_esock.xml z:/testdata/configs/te_esock.xml
../scriptfiles/te_esock_ethernet_MOMAP16xx.xml z:/testdata/configs/te_esock_ethernet_momap16xx.xml
../scriptfiles/te_esock_ethernet_wins.xml z:/testdata/configs/te_esock_ethernet.xml
+../scriptfiles/te_esock_wlan.xml z:/testdata/configs/te_esock_wlan.xml
../scriptfiles/hosts.te_esock z:/testdata/configs/hosts.te_esock
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/TE_ESock/scriptfiles/TE_ESock_IP4_Net_wlan.script Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,38 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRINT ***************************************************************
+PRINT Perform all the TE_ESOCK Connection tests on PPP (IPv4)
+PRINT ***************************************************************
+
+// Ensure that the default config is present if no cleverer one has been put there already
+RUN_SCRIPT z:\testdata\scripts\exec_esock_default_to_config_1.script
+
+RUN_SCRIPT z:\testdata\scripts\te_esock_test_unloadesockForced.script
+
+ced -i z:\testdata\configs\te_esock_wlan.xml ced.log
+
+RUN_SCRIPT z:\testdata\scripts\te_esock_test_loadesock.script
+
+// copy the relevant ini file
+RUN_UTILS CopyFile z:\testdata\configs\test_esock_ip4_vlan2.ini c:\test_esock_ip.ini
+RUN_UTILS MakeReadWrite c:\test_esock_ip.ini
+
+RUN_SCRIPT z:\testdata\scripts\te_esock_tests-net-ip.script
+
+RUN_UTILS DeleteFile c:\test_esock_ip.ini
+
+RUN_SCRIPT z:\testdata\scripts\te_esock_test_unloadesockForced.script
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/TE_ESock/scriptfiles/te_esock_wlan.xml Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,1200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+ All rights reserved.
+ This component and the accompanying materials are made available
+ under the terms of "Eclipse Public License v1.0"
+ which accompanies this distribution, and is available
+ at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+ Initial Contributors:
+ Nokia Corporation - initial contribution.
+
+ Contributors:
+
+ Description:
+ CommDB Settings File
+
+-->
+
+
+
+<CommDB:Config xmlns="SymbianOS.Generic.Comms-Infras.CommDB"
+ xmlns:CommDB="SymbianOS.Generic.Comms-Infras.CommDB"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="SymbianOS.Generic.Comms-Infras.CommDB CommDB.xsd">
+
+<InformationTable>
+</InformationTable>
+
+<NetworkTable>
+ <Network operation="add">
+ <Name>Intranet</Name>
+ </Network>
+</NetworkTable>
+
+<IAPTable>
+ <IAP operation="add">
+ <Name>NT RAS</Name>
+ <IAPService>DialOutISP.NT RAS</IAPService>
+ <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>NTRas GPRS</Name>
+ <IAPService>OutgoingGPRS.NTRas GPRS</IAPService>
+ <IAPBearer>ModemBearer.GPRS Ericsson R520m via IR</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Mobile</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>Padding for removed CDMA IAP</Name>
+ <IAPService>DialOutISP.NT RAS</IAPService>
+ <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Mobile</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>Default Dial In ISP</Name>
+ <IAPService>DialInISP.Dial In CS ISP</IAPService>
+ <IAPBearer>ModemBearer.US Robotics Sportster</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Home</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>LAN Test IAP</Name>
+ <IAPService>LANService.Ethernet (IPv6 static DNS)</IAPService>
+ <IAPBearer>LANBearer.Ethernet</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>NT RAS (IPv6 static DNS)</Name>
+ <IAPService>DialOutISP.NT RAS (IPv6 static DNS)</IAPService>
+ <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office</LocationRef>
+ </IAP>
+ <IAP operation="add">
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
+ </IAP>
+</IAPTable>
+
+<ModemBearerTable>
+ <ModemBearer operation="template">
+ <Name>Default Modem</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>115200</Rate>
+ <Handshaking>0</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>0</XonChar>
+ <XoffChar>0</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>AFTERDIALUNTILANSWER</SpeakerPref>
+ <ModemInitString>AT</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <CommRole>0</CommRole>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>Null Modem 115200bps</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>NTRASTSY</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>115200</Rate>
+ <Handshaking>4</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>0</XonChar>
+ <XoffChar>0</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>AT</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageValidityPeriod>0</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <LastSocketActivityTimeout>50</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>40</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>US Robotics Sportster</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>57600</Rate>
+ <Handshaking>244</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>0</XonChar>
+ <XoffChar>0</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>AFTERDIALUNTILANSWER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>AT&F1</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT&d2</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>Dacom Surfer</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>57600</Rate>
+ <Handshaking>244</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>0</XonChar>
+ <XoffChar>0</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>AFTERDIALUNTILANSWER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>AT&F</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT&d2</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>GSM Mobile Phone via Infrared</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>IRCOMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>IRCOMM</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>115200</Rate>
+ <Handshaking>196</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>17</XonChar>
+ <XoffChar>19</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>ATZ</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageCentreNumber>+442079460223</MessageCentreNumber>
+ <MessageValidityPeriod>1440</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <MinimumSignalLevel>9905</MinimumSignalLevel>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>GSM Mobile Phone via Serial</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>19200</Rate>
+ <Handshaking>196</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>17</XonChar>
+ <XoffChar>19</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>ATZ</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageCentreNumber>+442079460223</MessageCentreNumber>
+ <MessageValidityPeriod>1440</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <MinimumSignalLevel>9905</MinimumSignalLevel>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>GPRS Ericsson R520m via IR</Name>
+ <Agent>CSD.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>IRCOMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>IRCOMM</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>115200</Rate>
+ <Handshaking>4</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>17</XonChar>
+ <XoffChar>19</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>ATZ</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageCentreNumber>+442079460223</MessageCentreNumber>
+ <MessageValidityPeriod>1440</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>GPRS Ericsson R520m via Serial</Name>
+ <Agent>null.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>115200</Rate>
+ <Handshaking>4</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>17</XonChar>
+ <XoffChar>19</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>ATZ</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageCentreNumber>+442079460223</MessageCentreNumber>
+ <MessageValidityPeriod>1440</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+ <ModemBearer operation="add">
+ <Name>GPRS Motorola Mobile Phone via Serial</Name>
+ <Agent>null.agt</Agent>
+ <IfName>PPP</IfName>
+ <PortName>COMM::0</PortName>
+ <TSYName>MM</TSYName>
+ <CSYName>ECUART</CSYName>
+ <DataBits>8</DataBits>
+ <StopBits>1</StopBits>
+ <Parity>NONE</Parity>
+ <Rate>57600</Rate>
+ <Handshaking>4</Handshaking>
+ <SpecialRate>0</SpecialRate>
+ <XonChar>17</XonChar>
+ <XoffChar>19</XoffChar>
+ <FaxClassPref>AUTO</FaxClassPref>
+ <SpeakerPref>NEVER</SpeakerPref>
+ <SpeakerVolPref>QUIET</SpeakerVolPref>
+ <ModemInitString>ATZ</ModemInitString>
+ <DataInitString>AT</DataInitString>
+ <FaxInitString>AT</FaxInitString>
+ <DialPauseLength>S8=</DialPauseLength>
+ <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+ <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+ <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+ <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+ <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+ <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+ <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+ <DialToneWaitModifier>W</DialToneWaitModifier>
+ <CallProgress1>X1</CallProgress1>
+ <CallProgress2>X2</CallProgress2>
+ <CallProgress3>X3</CallProgress3>
+ <CallProgress4>X4</CallProgress4>
+ <EchoOff>E0</EchoOff>
+ <VerboseText>V1</VerboseText>
+ <QuietOff>Q0</QuietOff>
+ <QuietOn>Q1</QuietOn>
+ <DialCommandStateModifier>;</DialCommandStateModifier>
+ <OnLine>O</OnLine>
+ <ResetConfiguration>Z</ResetConfiguration>
+ <ReturnToFactoryDefs>&F</ReturnToFactoryDefs>
+ <DCDOnDuringLink>&C1</DCDOnDuringLink>
+ <DTRHangUp>&D2</DTRHangUp>
+ <DSRAlwaysOn>&S0</DSRAlwaysOn>
+ <RTSCTSHandshake>&K3</RTSCTSHandshake>
+ <XonXoffHandshake>&K4</XonXoffHandshake>
+ <EscapeCharacter>+</EscapeCharacter>
+ <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+ <NoDialTone>NO DIAL TONE</NoDialTone>
+ <Busy>BUSY</Busy>
+ <NoAnswer>NO ANSWER</NoAnswer>
+ <Carrier>CARRIER</Carrier>
+ <Connect>CONNECT</Connect>
+ <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+ <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+ <CompressionNone>COMPRESSION:NONE</CompressionNone>
+ <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+ <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+ <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+ <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+ <MessageCentreNumber>+442079460223</MessageCentreNumber>
+ <MessageValidityPeriod>1440</MessageValidityPeriod>
+ <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+ <LastSocketActivityTimeout>6</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ </ModemBearer>
+</ModemBearerTable>
+
+<LANBearerTable>
+ <LANBearer operation="add">
+ <Name>Ethernet</Name>
+ <Agent>nullagt.agt</Agent>
+ <IfName>ethint</IfName>
+ <LDDFilename>enet</LDDFilename>
+ <LDDName>=Ethernet</LDDName>
+ <PDDFilename>ethernet</PDDFilename>
+ <PDDName>Ethernet.Wins</PDDName>
+ <PacketDriverName>EtherPkt.drv</PacketDriverName>
+ <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+ </LANBearer>
+ <LANBearer operation="add">
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>1</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
+ </LANBearer>
+</LANBearerTable>
+
+<LANServiceTable>
+ <LANService operation="add">
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ </LANService>
+ <LANService operation="add">
+ <Name>Ethernet</Name>
+ <IfNetworks>ip,ip6</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>194.72.6.1</IpGateway>
+ <IpAddr>192.168.0.100</IpAddr>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+ <IpNameServer1>194.72.6.51</IpNameServer1>
+ <IpNameServer2>194.72.6.52</IpNameServer2>
+ </LANService>
+ <LANService operation="add">
+ <Name>Ethernet (IPv6 static DNS)</Name>
+ <IfNetworks>ip,ip6</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>10.1.2.3</IpGateway>
+ <IpAddr>192.168.0.100</IpAddr>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+ <Ip6DNSAddrFromServer>FALSE</Ip6DNSAddrFromServer>
+ <IpNameServer1>10.1.2.4</IpNameServer1>
+ <IpNameServer2>10.1.2.5</IpNameServer2>
+ <Ip6NameServer1>fe80:0:0:0:0:0:1234:5678</Ip6NameServer1>
+ <Ip6NameServer2>fe80:0:0:0:0:0:8765:4321</Ip6NameServer2>
+ </LANService>
+</LANServiceTable>
+
+<DialInISPTable>
+ <DialInISP operation="template">
+ <Name>Default Dial In ISP</Name>
+ <UseLoginScript>FALSE</UseLoginScript>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <EnableSWComp>FALSE</EnableSWComp>
+ <UseEdge>FALSE</UseEdge>
+ </DialInISP>
+ <DialInISP operation="add">
+ <Name>Dial In CS ISP</Name>
+ <UseLoginScript>FALSE</UseLoginScript>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <EnableSWComp>FALSE</EnableSWComp>
+ <UseEdge>FALSE</UseEdge>
+ </DialInISP>
+</DialInISPTable>
+
+<DialOutISPTable>
+ <DialOutISP operation="template">
+ <Name>Default Dial Out ISP</Name>
+ <DialResolution>TRUE</DialResolution>
+ <UseLoginScript>FALSE</UseLoginScript>
+ <PromptForLogin>TRUE</PromptForLogin>
+ <IfPromptForAuth>TRUE</IfPromptForAuth>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <DisplayPCT>FALSE</DisplayPCT>
+ <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+ <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <EnableSWComp>FALSE</EnableSWComp>
+ <BearerService>0</BearerService>
+ <BearerProtocol>0</BearerProtocol>
+ <RlpVersion>0</RlpVersion>
+ <IwfToMs>0</IwfToMs>
+ <MsToIwf>0</MsToIwf>
+ <AckTimer>0</AckTimer>
+ <RetransmissionAttempts>0</RetransmissionAttempts>
+ <ResequencePeriod>0</ResequencePeriod>
+ <V42Compression>0</V42Compression>
+ <V42Codewords>0</V42Codewords>
+ <V42MaxLength>0</V42MaxLength>
+ <Asymmetry>0</Asymmetry>
+ <UserInitUpgrade>FALSE</UserInitUpgrade>
+ <UseEdge>FALSE</UseEdge>
+ </DialOutISP>
+ <DialOutISP operation="add">
+ <Name>NT RAS</Name>
+ <DialResolution>TRUE</DialResolution>
+ <UseLoginScript>TRUE</UseLoginScript>
+ <PromptForLogin>FALSE</PromptForLogin>
+ <IfPromptForAuth>FALSE</IfPromptForAuth>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <Type>INTERNETONLY</Type>
+ <LoginScript>CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n</LoginScript>
+ <DisplayPCT>FALSE</DisplayPCT>
+ <IfNetworks>ip,ip6</IfNetworks>
+ <IfAuthName>RasUser</IfAuthName>
+ <IfAuthPass>pass</IfAuthPass>
+ <AuthRetries>0</AuthRetries>
+ <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+ <CallbackTimeout>0</CallbackTimeout>
+ <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <EnableSWComp>FALSE</EnableSWComp>
+ <BearerService>0</BearerService>
+ <BearerName>ASYNCHRONOUS</BearerName>
+ <BearerSpeed>UNSPECIFIED</BearerSpeed>
+ <BearerCE>UNSPECIFIED</BearerCE>
+ <BearerType>CSD</BearerType>
+ <ChannelCoding>UNSPECIFIED</ChannelCoding>
+ <AIUR>UNSPECIFIED</AIUR>
+ <RequestedTimeSlots>0</RequestedTimeSlots>
+ <MaximumTimeSlots>0</MaximumTimeSlots>
+ <BearerProtocol>0</BearerProtocol>
+ <RlpVersion>0</RlpVersion>
+ <IwfToMs>0</IwfToMs>
+ <MsToIwf>0</MsToIwf>
+ <AckTimer>0</AckTimer>
+ <RetransmissionAttempts>0</RetransmissionAttempts>
+ <ResequencePeriod>0</ResequencePeriod>
+ <V42Compression>0</V42Compression>
+ <V42Codewords>0</V42Codewords>
+ <V42MaxLength>0</V42MaxLength>
+ <Asymmetry>0</Asymmetry>
+ <UserInitUpgrade>FALSE</UserInitUpgrade>
+ <UseEdge>FALSE</UseEdge>
+ </DialOutISP>
+ <DialOutISP operation="add">
+ <Name>NT RAS (IPv6 static DNS)</Name>
+ <DialResolution>TRUE</DialResolution>
+ <UseLoginScript>TRUE</UseLoginScript>
+ <PromptForLogin>FALSE</PromptForLogin>
+ <IfPromptForAuth>FALSE</IfPromptForAuth>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <Ip6DNSAddrFromServer>FALSE</Ip6DNSAddrFromServer>
+ <Description>Test</Description>
+ <Type>INTERNETONLY</Type>
+ <LoginScript>CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n</LoginScript>
+ <DisplayPCT>FALSE</DisplayPCT>
+ <IfNetworks>ip,ip6</IfNetworks>
+ <IfAuthName>RasUser</IfAuthName>
+ <IfAuthPass>pass</IfAuthPass>
+ <AuthRetries>0</AuthRetries>
+ <Ip6NameServer1>fe80:0:0:0:0:0:1234:5678</Ip6NameServer1>
+ <Ip6NameServer2>fe80:0:0:0:0:0:8765:4321</Ip6NameServer2>
+ <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <EnableSWComp>FALSE</EnableSWComp>
+ </DialOutISP>
+</DialOutISPTable>
+
+<AgentLookupTable>
+</AgentLookupTable>
+
+<ChargecardTable>
+ <Chargecard operation="add">
+ <Name>Dummy BT Chargecard</Name>
+ <AccountNumber>144,12345678</AccountNumber>
+ <Pin>0000</Pin>
+ <LocalRule>HG</LocalRule>
+ <NatRule>HFG</NatRule>
+ <IntlRule>HEFG</IntlRule>
+ </Chargecard>
+ <Chargecard operation="add">
+ <Name>Dummy Mercury Chargecard</Name>
+ <AccountNumber>0500800800,,12345678</AccountNumber>
+ <Pin>****</Pin>
+ <LocalRule>HG</LocalRule>
+ <NatRule>J,K,0FG</NatRule>
+ <IntlRule>HEFG</IntlRule>
+ </Chargecard>
+</ChargecardTable>
+
+<ConnectionPreferencesTable>
+ <ConnectionPreferences operation="add">
+ <Name>ConnectionPreferencesTable1</Name>
+ <Ranking>0</Ranking>
+ <Direction>INCOMING</Direction>
+ <DialogPref>DONOTPROMPT</DialogPref>
+ <BearerSet>CSD</BearerSet>
+ <IAPRef>IAP.Default Dial In ISP</IAPRef>
+ </ConnectionPreferences>
+ <ConnectionPreferences operation="add">
+ <Name>ConnectionPreferencesTable2</Name>
+ <Ranking>1</Ranking>
+ <Direction>OUTGOING</Direction>
+ <DialogPref>DONOTPROMPT</DialogPref>
+ <BearerSet>LAN</BearerSet>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
+ </ConnectionPreferences>
+</ConnectionPreferencesTable>
+
+<GlobalSettingsTable>
+ <GlobalSettings operation="add">
+ <Name>GlobalSettingsTable1</Name>
+ <RedialAttempts>3</RedialAttempts>
+ <SmsBearer>2</SmsBearer>
+ <SmsReceiveMode>2</SmsReceiveMode>
+ <GPRSAttachMode>1</GPRSAttachMode>
+ <AcceptIncomingGprs>1</AcceptIncomingGprs>
+ <ConnectionAttempts>2</ConnectionAttempts>
+ <ModemForDataAndFax>2</ModemForDataAndFax>
+ <ModemForPhoneServicesAndSMS>2</ModemForPhoneServicesAndSMS>
+ <LocationForDataAndFax>Location.Office</LocationForDataAndFax>
+ <LocationForPhoneServicesAndSMS>Location.Office</LocationForPhoneServicesAndSMS>
+ <GPRSClassCBearer>GSM</GPRSClassCBearer>
+ <DefaultNetwork>Network.Intranet</DefaultNetwork>
+ <BearerAvailabilityCheckTSY>mm</BearerAvailabilityCheckTSY>
+ </GlobalSettings>
+</GlobalSettingsTable>
+
+<IncomingGPRSTable>
+ <IncomingGPRS operation="add">
+ <Name>Dummy Incoming GPRS Settings</Name>
+ <APN>Test</APN>
+ <PDPType>IPV4</PDPType>
+ <PDPAddress>0.0.0.0</PDPAddress>
+ <IfPromptForAuth>FALSE</IfPromptForAuth>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <ReqPrecedence>1</ReqPrecedence>
+ <ReqDelay>1</ReqDelay>
+ <ReqReliability>1</ReqReliability>
+ <ReqPeakThroughput>1</ReqPeakThroughput>
+ <ReqMeanThroughput>1</ReqMeanThroughput>
+ <MinPrecedence>1</MinPrecedence>
+ <MinDelay>1</MinDelay>
+ <MinReliability>1</MinReliability>
+ <MinPeakThroughput>1</MinPeakThroughput>
+ <MinMeanThroughput>1</MinMeanThroughput>
+ <DataCompression>FALSE</DataCompression>
+ <HeaderCompression>FALSE</HeaderCompression>
+ <AnonymousAccess>FALSE</AnonymousAccess>
+ <IfNetworks>ip</IfNetworks>
+ <IfAuthName>RasUser</IfAuthName>
+ <IfAuthPass>pass</IfAuthPass>
+ <AuthRetries>1</AuthRetries>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <GprsUseEdge>FALSE</GprsUseEdge>
+ </IncomingGPRS>
+</IncomingGPRSTable>
+
+<OutgoingGPRSTable>
+ <OutgoingGPRS operation="add">
+ <Name>NTRas GPRS</Name>
+ <APN>Test</APN>
+ <PDPType>IPV4</PDPType>
+ <IfPromptForAuth>FALSE</IfPromptForAuth>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+ <ReqPrecedence>2</ReqPrecedence>
+ <ReqDelay>4</ReqDelay>
+ <ReqReliability>3</ReqReliability>
+ <ReqPeakThroughput>3</ReqPeakThroughput>
+ <ReqMeanThroughput>31</ReqMeanThroughput>
+ <MinPrecedence>2</MinPrecedence>
+ <MinDelay>4</MinDelay>
+ <MinReliability>3</MinReliability>
+ <MinPeakThroughput>3</MinPeakThroughput>
+ <MinMeanThroughput>31</MinMeanThroughput>
+ <DataCompression>FALSE</DataCompression>
+ <HeaderCompression>FALSE</HeaderCompression>
+ <AnonymousAccess>FALSE</AnonymousAccess>
+ <IfNetworks>ip</IfNetworks>
+ <IfAuthName>RasUser</IfAuthName>
+ <IfAuthPass>pass</IfAuthPass>
+ <AuthRetries>1</AuthRetries>
+ <IpNameServer1>194.72.6.51</IpNameServer1>
+ <IpNameServer2>194.72.6.51</IpNameServer2>
+ <EnableLCPExtension>FALSE</EnableLCPExtension>
+ <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+ <GprsUseEdge>FALSE</GprsUseEdge>
+ </OutgoingGPRS>
+</OutgoingGPRSTable>
+
+<DefaultGPRSTable>
+ <DefaultGPRS operation="add">
+ <Name>Dummy Default GPRS Settings</Name>
+ <APN>Access point name</APN>
+ <PDPType>IPV6</PDPType>
+ <PDPAddress>www.wid.com</PDPAddress>
+ <Usage>1</Usage>
+ <Precedence>1</Precedence>
+ <Delay>1</Delay>
+ <Reliability>1</Reliability>
+ <PeakThroughput>1</PeakThroughput>
+ <MeanThroughput>1</MeanThroughput>
+ <MinPrecedence>1</MinPrecedence>
+ <MinDelay>1</MinDelay>
+ <MinReliability>1</MinReliability>
+ <MinPeakThroughput>1</MinPeakThroughput>
+ <MinMeanThroughput>1</MinMeanThroughput>
+ <DataCompression>TRUE</DataCompression>
+ <HeaderCompression>TRUE</HeaderCompression>
+ <GprsUseEdge>FALSE</GprsUseEdge>
+ <AnonymousAccess>TRUE</AnonymousAccess>
+ </DefaultGPRS>
+</DefaultGPRSTable>
+
+<ProxyTable>
+ <Proxy operation="add">
+ <Name>ProxyTable1</Name>
+ <ISPRef>DialOutISP.NT RAS</ISPRef>
+ <UseProxyServer>TRUE</UseProxyServer>
+ <ProtocolName>http</ProtocolName>
+ <ProxyServerName>www.dummyproxy.com</ProxyServerName>
+ <PortNumber>80</PortNumber>
+ <Exceptions>www.dummyproxy.com/exception</Exceptions>
+ </Proxy>
+</ProxyTable>
+
+<LocationTable>
+ <Location operation="template">
+ <Name>Default Location</Name>
+ <Mobile>TRUE</Mobile>
+ <UsePulseDial>FALSE</UsePulseDial>
+ <WaitForDialTone>FALSE</WaitForDialTone>
+ <PauseAfterDialout>0</PauseAfterDialout>
+ <IntlPrefixCode>+</IntlPrefixCode>
+ <NatPrefixCode>0</NatPrefixCode>
+ <NatCode>44</NatCode>
+ </Location>
+ <Location operation="add">
+ <Name>Office</Name>
+ <Mobile>FALSE</Mobile>
+ <UsePulseDial>FALSE</UsePulseDial>
+ <WaitForDialTone>FALSE</WaitForDialTone>
+ <PauseAfterDialout>0</PauseAfterDialout>
+ <IntlPrefixCode>00</IntlPrefixCode>
+ <NatPrefixCode>0</NatPrefixCode>
+ <NatCode>44</NatCode>
+ <AreaCode>171</AreaCode>
+ <DialOutCode>9,</DialOutCode>
+ </Location>
+ <Location operation="add">
+ <Name>Office Direct Dial</Name>
+ <Mobile>FALSE</Mobile>
+ <UsePulseDial>FALSE</UsePulseDial>
+ <WaitForDialTone>FALSE</WaitForDialTone>
+ <PauseAfterDialout>0</PauseAfterDialout>
+ <IntlPrefixCode>00</IntlPrefixCode>
+ <NatPrefixCode>0</NatPrefixCode>
+ <NatCode>44</NatCode>
+ <AreaCode>171</AreaCode>
+ </Location>
+ <Location operation="add">
+ <Name>Mobile</Name>
+ <Mobile>TRUE</Mobile>
+ <UsePulseDial>FALSE</UsePulseDial>
+ <WaitForDialTone>FALSE</WaitForDialTone>
+ <PauseAfterDialout>0</PauseAfterDialout>
+ <IntlPrefixCode>+</IntlPrefixCode>
+ <NatPrefixCode>0</NatPrefixCode>
+ <NatCode>44</NatCode>
+ </Location>
+ <Location operation="add">
+ <Name>Home</Name>
+ <Mobile>FALSE</Mobile>
+ <UsePulseDial>TRUE</UsePulseDial>
+ <WaitForDialTone>TRUE</WaitForDialTone>
+ <PauseAfterDialout>0</PauseAfterDialout>
+ <IntlPrefixCode>00</IntlPrefixCode>
+ <NatPrefixCode>0</NatPrefixCode>
+ <NatCode>44</NatCode>
+ <AreaCode>181</AreaCode>
+ </Location>
+</LocationTable>
+
+<SecureSocketTable>
+ <SecureSocket operation="add">
+ <Name>SecureSocketTable1</Name>
+ <ProtocolName>ssl3.0</ProtocolName>
+ <ProtoLibrary>ssladaptor.dll</ProtoLibrary>
+ </SecureSocket>
+ <SecureSocket operation="add">
+ <Name>SecureSocketTable2</Name>
+ <ProtocolName>tls1.0</ProtocolName>
+ <ProtoLibrary>ssladaptor.dll</ProtoLibrary>
+ </SecureSocket>
+</SecureSocketTable>
+
+<BTDeviceTable>
+</BTDeviceTable>
+
+<BTPersistTable>
+</BTPersistTable>
+
+<BTSecurityTable>
+</BTSecurityTable>
+
+<BTDefaultTable>
+</BTDefaultTable>
+
+<WAPAccessPointTable>
+ <WAPAccessPoint operation="template">
+ <Name>Default Dial In ISP</Name>
+ <CurrentBearer>WAPIPBearer</CurrentBearer>
+ </WAPAccessPoint>
+ <WAPAccessPoint operation="add">
+ <Name>Dummy WAP Settings</Name>
+ <CurrentBearer>WAPIPBearer</CurrentBearer>
+ <StartPage>www.wapstart.com</StartPage>
+ </WAPAccessPoint>
+</WAPAccessPointTable>
+
+<WAPIPBearerTable>
+ <WAPIPBearer operation="template">
+ <Name>WAPIPBearerTable1</Name>
+ <AccessPoint>WAPAccessPoint.-1</AccessPoint>
+ <WSPOption>CONNECTIONLESS</WSPOption>
+ <Security>FALSE</Security>
+ <IAPRef>IAP.-1</IAPRef>
+ <ProxyPortNumber>0</ProxyPortNumber>
+ </WAPIPBearer>
+ <WAPIPBearer operation="add">
+ <Name>WAPIPBearerTable2</Name>
+ <AccessPoint>WAPAccessPoint.Dummy WAP Settings</AccessPoint>
+ <GatewayAddress>www.wapgateway.com</GatewayAddress>
+ <WSPOption>CONNECTIONORIENTED</WSPOption>
+ <Security>FALSE</Security>
+ <IAPRef>IAP.NTRas GPRS</IAPRef>
+ <ProxyPortNumber>1</ProxyPortNumber>
+ </WAPIPBearer>
+</WAPIPBearerTable>
+
+<WAPSMSBearerTable>
+ <WAPSMSBearer operation="template">
+ <Name>WAPSMSBearerTable1</Name>
+ <AccessPoint>WAPAccessPoint.-1</AccessPoint>
+ <WSPOption>CONNECTIONLESS</WSPOption>
+ <Security>FALSE</Security>
+ </WAPSMSBearer>
+ <WAPSMSBearer operation="add">
+ <Name>WAPSMSBearerTable2</Name>
+ <AccessPoint>WAPAccessPoint.Dummy WAP Settings</AccessPoint>
+ <GatewayAddress>+442079460221</GatewayAddress>
+ <WSPOption>CONNECTIONORIENTED</WSPOption>
+ <Security>FALSE</Security>
+ <ServiceCentreAddress>+442079460223</ServiceCentreAddress>
+ </WAPSMSBearer>
+</WAPSMSBearerTable>
+
+<VirtualBearerTable>
+</VirtualBearerTable>
+
+<VpnServiceTable>
+</VpnServiceTable>
+
+
+</CommDB:Config>
--- a/datacommsserver/esockserver/test/TE_ESock/scriptfiles/test_esock_ip4_vlan2.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_ESock/scriptfiles/test_esock_ip4_vlan2.ini Wed Aug 18 10:59:59 2010 +0300
@@ -26,16 +26,16 @@
[Test_3.4]
//-- loncoredev01
-ipAddress=10.23.140.123
-port=5001
+ipAddress=10.29.23.103
+port=643
[Test_3.5]
port=7
[Test_3.6]
//-- loncoredev01
-ipAddress=10.23.140.123
-errorPort=5001
+ipAddress=10.29.23.10
+errorPort=643
validPort=7
validTries=3
--- a/datacommsserver/esockserver/test/TE_ESock/scriptfiles/test_esock_ip4_vlan7.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_ESock/scriptfiles/test_esock_ip4_vlan7.ini Wed Aug 18 10:59:59 2010 +0300
@@ -1,5 +1,5 @@
[Test_Common]
-ipAddress=192.168.20.11
+ipAddress=10.29.23.103
[Test_2.1]
numSockets=1
@@ -25,16 +25,16 @@
port=1
[Test_3.4]
-ipAddress=192.168.20.11
-port=5001
+ipAddress=10.29.23.103
+port=643
[Test_3.5]
port=7
[Test_3.6]
-//-- 6TUNNELLER
-ipAddress=192.168.20.2
-errorPort=6060
+//-- 6TUNNELLEREXTERNAL
+ipAddress=10.29.23.10
+errorPort=643
validPort=7
validTries=3
@@ -306,8 +306,8 @@
//-- Testing 'A' query
[Test27.1]
Entries=2
-Param1=robocop.movie.edu
-Param2=wormhole.movie.edu
+Param1=httpsmtp.closedtest.intra
+Param2=httpsmtpssl.closedtest.intra
//-- Testing 'SVR' query
[Test27.2]
@@ -334,8 +334,8 @@
//-- Testing 'A' query with explicit connection
[Test27.7]
Entries=2
-Param1=robocop.movie.edu
-Param2=wormhole.movie.edu
+Param1=httpsmtp.closedtest.intra
+Param2=httpsmtpssl.closedtest.intra
//-- Testing Query() interface on two threads
[Test27.8]
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/group/TE_EsockTestStepsSuite.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/group/TE_EsockTestStepsSuite.iby Wed Aug 18 10:59:59 2010 +0300
@@ -20,6 +20,7 @@
#define __TE_ESOCKTESTSTEPSSUITE_IBY__
#include <te_esockteststeps.iby>
+data=ABI_DIR\DEBUG_DIR\Te_esockteststepsSuite_captest.exe sys\bin\te_esockteststepsSuite_captest.exe
#endif
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/inc/Connections.TestSteps.h Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/inc/Connections.TestSteps.h Wed Aug 18 10:59:59 2010 +0300
@@ -173,12 +173,36 @@
TVerdict doSingleTestStep();
TInt ConfigureFromIni();
-private:
+protected:
TRConnectionParams iParams; //current params (.ini)
};
_LIT(KStartRConnectionStep,"StartRConnectionStep");
+/**
+Class implementing StartStopCrazyLoopRConnectionStep
+The test does a loop, where every iteration:
+(1) Starts the connection
+(2) Snoozes for an <interval>
+(3) Stops the connection injecting a cancel at that stage of the connection start
+(4) Increases the <interval> a bit so that next time round the cancel is injected at a different stage.
+
+Note that since the test is normally executed by a thread of lower priority than ESock_IP, it relies on
+ESock_IP yielding (otherwise it won't test different phases.
+For instance DummyMCPR will artificially yield on TCFServiceProvider::TJoinRequest.
+NetMCPR will not normally yield as is.
+
+@internalComponent
+*/
+class CStartStopCrazyLoopRConnectionStep : public CStartRConnectionStep
+ {
+public:
+ CStartStopCrazyLoopRConnectionStep(CCEsockTestBase*& aEsockTest);
+ TVerdict doSingleTestStep();
+ TInt CalibrateStart();
+ };
+
+_LIT(KStartStopCrazyLoopRConnectionStep,"StartStopCrazyLoopRConnectionStep");
/**
Class implementing openrconnectionStep
@@ -444,6 +468,20 @@
_LIT(KGetParameters_IntStep,"GetParameters_IntStep");
+
+class CWaitStep : public CTe_EsockStepBase
+ {
+public:
+ CWaitStep(CCEsockTestBase*& aEsockTest);
+ TVerdict doSingleTestStep();
+ TInt ConfigureFromIni();
+private:
+ TInt iTimeOutMs;
+ };
+
+_LIT(KWaitStep,"WaitStep");
+
+
#endif // CONNECTIONS_TESTSTEPS_H
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/inc/EsockTestBase.h Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/inc/EsockTestBase.h Wed Aug 18 10:59:59 2010 +0300
@@ -502,6 +502,7 @@
//connection functions library
RConnection* FindConnection(const TDesC& aConnectionName);
TInt CreateConnection(const TDesC& aConnectionName);
+ TInt RemoveConnection(const TDesC& aConnectionName);
TInt OpenConnection(const TRConnectionParams& aParams);
TInt StartConnection(RConnection& aConn, TConnPref& aPrefs, TRequestStatus* aRequestStatus);
TInt StartConnection(TRConnectionParams& aParams);
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/src/Connections.TestSteps.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/src/Connections.TestSteps.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -112,9 +112,9 @@
// Optional
// Reads the protocol family to use
- if (GetIntFromConfig(iSection, KTe_ConnectionType, iParams.iConnectionType) != 1)
+ if (!GetIntFromConfig(iSection, KTe_ConnectionType, iParams.iConnectionType))
{
- iParams.iConnectionType = -1;
+ iParams.iConnectionType = -1;
}
// All ok if we got this far
@@ -155,6 +155,14 @@
INFO_PRINTF1(_L("Couldn't find appropriate field in config file"));
return KErrNotFound;
}
+
+ GetStringFromConfig(iSection, KTe_SocketServName, iParams.iSockServName);
+ // Optional
+ // Reads the protocol family to use
+ if (!GetIntFromConfig(iSection, KTe_ConnectionType, iParams.iConnectionType))
+ {
+ iParams.iConnectionType = -1;
+ }
TPtrC16 bearerSet;
TBool bearerPresent = ((GetStringFromConfig(iSection,KTe_BearerName,bearerSet)==1)
@@ -251,6 +259,152 @@
}
+
+
+
+
+
+
+
+// CStartStopCrazyLoopRConnectionStep
+//-----------------
+
+CStartStopCrazyLoopRConnectionStep::CStartStopCrazyLoopRConnectionStep(CCEsockTestBase*& aEsockTest)
+: CStartRConnectionStep(aEsockTest)
+ {
+ SetTestStepName(KStartStopCrazyLoopRConnectionStep);
+ }
+
+TInt CStartStopCrazyLoopRConnectionStep::CalibrateStart()
+ {
+ TTime timeBegin;
+ TTime timeEnd;
+
+ TRequestStatus* pConnectionStartStatus = iEsockTest->iRequestStatuses.Find(iParams.iConnectionName);
+ if (pConnectionStartStatus == NULL)
+ {
+ return KErrCorrupt;
+ }
+
+ timeBegin.HomeTime();
+ TInt error = iEsockTest->StartConnection(iParams);
+ if (error != KErrNone)
+ {
+ return error;
+ }
+ User::WaitForRequest(*pConnectionStartStatus);
+ if (pConnectionStartStatus->Int() != KErrNone)
+ {
+ return pConnectionStartStatus->Int();
+ }
+ timeEnd.HomeTime();
+ iEsockTest->StopConnection(iParams);
+ return timeEnd.MicroSecondsFrom(timeBegin).Int64();
+ }
+
+
+TVerdict CStartStopCrazyLoopRConnectionStep::doSingleTestStep()
+ {
+ // Default to failing
+ SetTestStepResult(EFail);
+ iParams.iAsynch = ETrue; //force async.
+ RTimer timer;
+ TInt error = timer.CreateLocal();
+ if (error!=KErrNone)
+ {
+ INFO_PRINTF2(_L("Creating RTimer object failed with %d"), error);
+ return TestStepResult();
+ }
+
+ TRequestStatus timerRequestStatus;
+ TRequestStatus* pConnectionStartStatus = new TRequestStatus;
+ if (pConnectionStartStatus == NULL)
+ {
+ INFO_PRINTF1(_L("Heap allocation for TRequestStatus failed"));
+ timer.Close();
+ return TestStepResult();
+ }
+ error = iEsockTest->iRequestStatuses.Add(pConnectionStartStatus, iParams.iConnectionName);
+ if (error!=KErrNone)
+ {
+ INFO_PRINTF2(_L("Failed "), error);
+ timer.Close();
+ delete pConnectionStartStatus;
+ return TestStepResult();
+ }
+ TRequestStatus& connectionStartStatus = *pConnectionStartStatus;
+
+ const TInt KLoops = 10;
+ INFO_PRINTF1(_L("Calibrating timer by running full start"));
+ //Well, we're running the full start twice as the first run is likely to take more than the representative time.
+ TInt timerIncrement = Min<TInt>(CalibrateStart(), CalibrateStart());
+ if (timerIncrement < 0)
+ {
+ INFO_PRINTF2(_L("Full start failed, unable to calibrate, test failed with %d"), timerIncrement);
+ return TestStepResult();
+ }
+ INFO_PRINTF3(_L("Start took %dus, will divide by %d and use as the increment"), timerIncrement, KLoops);
+
+
+ TInt timerVal = 1;
+ timerIncrement /= KLoops;
+
+ INFO_PRINTF1(_L("Beginning crazy start/stop loop"));
+
+ for (TInt i = 1; i < KLoops+1; i++)
+ {
+ INFO_PRINTF2(_L("[Loop %d], Starting a new loop=============================="), i);
+ INFO_PRINTF2(_L("[Loop %d], Closing connection"), i);
+ iEsockTest->CloseConnection(iParams.iConnectionName);
+ INFO_PRINTF2(_L("[Loop %d], Re-openning connection"), i);
+ if (iEsockTest->OpenConnection(iParams) != KErrNone)
+ {
+ INFO_PRINTF1(_L("Can't reopen connection, most likely you didn't supply the session name"));
+ timer.Close();
+ return TestStepResult();
+ }
+ INFO_PRINTF2(_L("[Loop %d], Starting connection (asynch)"), i);
+ error = iEsockTest->StartConnection(iParams);
+ if (error != KErrNone)
+ {
+ INFO_PRINTF1(_L("Starting connection failed, aborting"));
+ timer.Close();
+ return TestStepResult();
+ }
+ INFO_PRINTF3(_L("[Loop %d], Setting timer to %dus .zzz...."), i, timerVal);
+ timer.After(timerRequestStatus,timerVal);
+ User::WaitForRequest(timerRequestStatus,connectionStartStatus);
+ if (timerRequestStatus.Int() == KRequestPending)
+ {
+ INFO_PRINTF2(_L("Connection Start completed with %d"), connectionStartStatus.Int());
+ INFO_PRINTF1(_L("Irrespective of the start result the test has failed, because it hadn't execute enough iterations"));
+ //If you get this a lot this means there;s a flaw in the logic of this test and for some reason the execution of
+ //RConnection::Start speeds up with time. You may want to re-calibrate then and rerun the loop again with finer
+ //interval.
+ timer.Cancel();
+ User::WaitForRequest(timerRequestStatus);
+ timer.Close();
+ return TestStepResult();
+ }
+
+ timerVal += timerIncrement;
+ INFO_PRINTF2(_L("[Loop %d], ....zzz. Stopping connection"), i);
+ iEsockTest->StopConnection(iParams);
+ User::WaitForRequest(connectionStartStatus);
+ INFO_PRINTF2(_L("[Loop %d], Connection stopped"), i);
+ }
+ timer.Close();
+ SetTestStepResult(EPass);
+ return TestStepResult();
+ }
+
+
+
+
+
+
+
+
// Stop Connection
//----------------
@@ -1319,3 +1473,30 @@
return EPass;
}
+// WaitStep
+//-------------------------------
+
+CWaitStep::CWaitStep(CCEsockTestBase*& aEsockTest)
+: CTe_EsockStepBase(aEsockTest)
+ {
+ SetTestStepName(KWaitStep);
+ }
+
+TInt CWaitStep::ConfigureFromIni()
+ {
+ if(!GetIntFromConfig(iSection, KTimeoutInMilliSeconds, iTimeOutMs))
+ {
+ INFO_PRINTF1(_L("Couldn't find appropriate field in config file"));
+ return KErrNotFound;
+ }
+
+ return KErrNone;
+ }
+
+TVerdict CWaitStep::doSingleTestStep()
+ {
+ User::After(iTimeOutMs *1000);
+ return EPass;
+ }
+
+
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -1124,6 +1124,18 @@
return error;
}
+TInt CCEsockTestBase::RemoveConnection(const TDesC& aConnectionName)
+ {
+ //check if this connection hasn't been created already
+ if (iConns.Find(aConnectionName)==NULL)
+ return KErrNotFound;
+
+ iConns.Remove(aConnectionName);
+ return KErrNone;
+ }
+
+
+
TInt CCEsockTestBase::OpenConnection(const TRConnectionParams& aParams)
{
RSocketServ* ss = iSockServs.Find(aParams.iSockServName);
@@ -1255,16 +1267,21 @@
TRequestStatus* requestStatus = NULL;
if (aParams.iAsynch)
{
- requestStatus = new TRequestStatus;
- if (requestStatus==NULL)
- return KErrNoMemory;
-
- TInt error = iRequestStatuses.Add(requestStatus, aParams.iConnectionName);
- if (error!=KErrNone)
- {
- delete requestStatus;
- return error;
- }
+ //The request status may well already be there (created by the previous iteration?)
+ requestStatus = iRequestStatuses.Find(aParams.iConnectionName);
+ if (requestStatus == NULL)
+ {
+ requestStatus = new TRequestStatus;
+ if (requestStatus==NULL)
+ return KErrNoMemory;
+
+ TInt error = iRequestStatuses.Add(requestStatus, aParams.iConnectionName);
+ if (error!=KErrNone)
+ {
+ delete requestStatus;
+ return error;
+ }
+ }
}
TInt error;
--- a/datacommsserver/esockserver/test/TE_EsockTestSteps/src/Te_esockteststepsSuiteServer.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/src/Te_esockteststepsSuiteServer.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -280,6 +280,8 @@
testStep = new CShutdownRSocketStep(iEsockTest);
else if(aStepName.CompareF (KStartRConnectionStep) == 0)
testStep = new CStartRConnectionStep(iEsockTest);
+ else if(aStepName.CompareF (KStartStopCrazyLoopRConnectionStep) == 0)
+ testStep = new CStartStopCrazyLoopRConnectionStep(iEsockTest);
else if(aStepName.CompareF (KAwaitRConnectionStartComplete) == 0)
testStep = new CAwaitRConnectionStartComplete(iEsockTest);
@@ -424,7 +426,9 @@
NEW_ESOCK_TESTSTEP(RegisterProgressNotificationStep)
NEW_ESOCK_TESTSTEP(CheckProgressNotificationStep)
NEW_ESOCK_TESTSTEP(CheckNegativeProgressNotificationStep)
- NEW_ESOCK_TESTSTEP(GetParameters_IntStep)
+ NEW_ESOCK_TESTSTEP(GetParameters_IntStep)
+ NEW_ESOCK_TESTSTEP(WaitStep)
+
return testStep;
}
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/ainethernet_MOMAP16xx.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/ainethernet_MOMAP16xx.xml Wed Aug 18 10:59:59 2010 +0300
@@ -30,10 +30,10 @@
<NetworkTable>
<Network operation="add">
- <Name>NT RAS</Name>
+ <Name>Intranet</Name>
</Network>
<Network operation="add">
- <Name>Intranet</Name>
+ <Name>NT RAS</Name>
</Network>
<Network operation="add">
<Name>Linux</Name>
@@ -64,12 +64,12 @@
<LocationRef>Location.Mobile</LocationRef>
</IAP>
<IAP operation="add">
- <Name>iTest name cdma2000</Name>
- <IAPService>CDMA2000PacketService.test name cdma2000</IAPService>
- <IAPBearer>ModemBearer.Dummy 2</IAPBearer>
+ <Name>Additional Dial In ISP</Name>
+ <IAPService>DialInISP.Dial In CS ISP</IAPService>
+ <IAPBearer>ModemBearer.Linux</IAPBearer>
<IAPNetwork>Network.NT RAS</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Mobile</LocationRef>
+ <LocationRef>Location.Home</LocationRef>
</IAP>
<IAP operation="add">
<Name>Default Dial In ISP</Name>
@@ -96,12 +96,12 @@
<LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
- <Name>Ethernet with Daemon Dynamic IP</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Ethernet</IAPBearer>
- <IAPNetwork>Network.Intranet</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office</LocationRef>
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
<Name>Virtual Comm port</Name>
@@ -156,8 +156,8 @@
<IAPService>DialOutISP.Dummy</IAPService>
<IAPBearer>ModemBearer.Dummy</IAPBearer>
<IAPNetwork>Network.Dummy</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office Direct Dial</LocationRef>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
</IAPTable>
@@ -638,33 +638,34 @@
<LANBearerTable>
<LANBearer operation="add">
- <Name>EKA2 Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.MOMAP16xx</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
</LANBearer>
</LANBearerTable>
<LANServiceTable>
<LANService operation="add">
- <Name>Ethernet</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.23.143.254</IpGateway>
- <IpAddr></IpAddr>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>10.16.59.15</IpNameServer1>
- <IpNameServer2>10.112.58.6</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
</LANServiceTable>
@@ -863,49 +864,6 @@
<AgentLookupTable>
</AgentLookupTable>
-<CDMA2000PacketServiceTable>
- <CDMA2000PacketService operation="add">
- <Name>test name cdma2000</Name>
- <IwfName>Test2000</IwfName>
- <ServiceOption>HIGHSPEEDCDMA2000DATA</ServiceOption>
- <PdpType>IPV4</PdpType>
- <ReqFwdPriority>PRIORITY04</ReqFwdPriority>
- <ReqRevPriority>PRIORITY04</ReqRevPriority>
- <ReqFwdBitrate>32KBPS</ReqFwdBitrate>
- <ReqRevBitrate>32KBPS</ReqRevBitrate>
- <ReqFwdLoss>LOSS1</ReqFwdLoss>
- <ReqRevLoss>LOSS1</ReqRevLoss>
- <ReqFwdMaxdelay>40MS</ReqFwdMaxdelay>
- <ReqRevMaxdelay>40MS</ReqRevMaxdelay>
- <MinFwdBitrate>8KBPS</MinFwdBitrate>
- <MinRevBitrate>8KBPS</MinRevBitrate>
- <AccptFwdLoss>LOSS2</AccptFwdLoss>
- <AccptRevLoss>LOSS2</AccptRevLoss>
- <AccptFwdMaxdelay>120MS</AccptFwdMaxdelay>
- <AccptRevMaxdelay>120MS</AccptRevMaxdelay>
- <DataCompression>FALSE</DataCompression>
- <HeaderCompression>FALSE</HeaderCompression>
- <AnonymousAccess>FALSE</AnonymousAccess>
- <IfNetworks>ip</IfNetworks>
- <IfAuthName>RasUser</IfAuthName>
- <IfAuthPass>pass</IfAuthPass>
- <AuthRetries>1</AuthRetries>
- <IpNetMask>0.255.255.255</IpNetMask>
- <IpGateway>10.0.0.1</IpGateway>
- <EnableLCPExtension>TRUE</EnableLCPExtension>
- <DisablePlainTextAuth>TRUE</DisablePlainTextAuth>
- <ApType>2</ApType>
- <IfPromptForAuth>FALSE</IfPromptForAuth>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <RlpMode>UNKNOWN</RlpMode>
- <CDMAMobileIP>FALSE</CDMAMobileIP>
- <CDMAMobileIPTimeout>10000000</CDMAMobileIPTimeout>
- </CDMA2000PacketService>
-</CDMA2000PacketServiceTable>
-
-<DefaultCDMA2000Table>
-</DefaultCDMA2000Table>
<ChargecardTable>
<Chargecard operation="add">
@@ -941,7 +899,7 @@
<Direction>OUTGOING</Direction>
<DialogPref>DONOTPROMPT</DialogPref>
<BearerSet>LAN</BearerSet>
- <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
</ConnectionPreferences>
</ConnectionPreferencesTable>
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectioncmm_ethernet_MOMAP16xx.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectioncmm_ethernet_MOMAP16xx.xml Wed Aug 18 10:59:59 2010 +0300
@@ -6,7 +6,6 @@
under the terms of "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".
-
Initial Contributors:
Nokia Corporation - initial contribution.
@@ -102,12 +101,12 @@
<LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
- <Name>Ethernet with Daemon Dynamic IP</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Ethernet</IAPBearer>
- <IAPNetwork>Network.Intranet</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office</LocationRef>
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
<Name>Virtual Comm port</Name>
@@ -695,33 +694,34 @@
<LANBearerTable>
<LANBearer operation="add">
- <Name>EKA2 Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.MOMAP16xx</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
</LANBearer>
</LANBearerTable>
<LANServiceTable>
<LANService operation="add">
- <Name>Ethernet</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.23.143.254</IpGateway>
- <IpAddr></IpAddr>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>10.16.59.15</IpNameServer1>
- <IpNameServer2>10.112.58.6</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
</LANServiceTable>
@@ -1000,7 +1000,7 @@
<Direction>OUTGOING</Direction>
<DialogPref>DONOTPROMPT</DialogPref>
<BearerSet>LAN</BearerSet>
- <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
</ConnectionPreferences>
</ConnectionPreferencesTable>
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionconfigdaemon_MOMAP16xx.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionconfigdaemon_MOMAP16xx.xml Wed Aug 18 10:59:59 2010 +0300
@@ -80,7 +80,7 @@
<IAP operation="add">
<Name>Emulator Lan IAP No Daemon</Name>
<IAPService>LANService.Ethernet No Daemon</IAPService>
- <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
<IAPNetwork>Network.Intranet</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Office</LocationRef>
@@ -88,7 +88,7 @@
<IAP operation="add">
<Name>Emulator Lan IAP Bad Daemon</Name>
<IAPService>LANService.Ethernet Bad Daemon</IAPService>
- <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
<IAPNetwork>Network.mRouter</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Office</LocationRef>
@@ -96,7 +96,7 @@
<IAP operation="add">
<Name>Emulator Lan IAP Static IP 1</Name>
<IAPService>LANService.Ethernet Static IP</IAPService>
- <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
<IAPNetwork>Network.mRouter</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Office</LocationRef>
@@ -104,23 +104,23 @@
<IAP operation="add">
<Name>Emulator Lan IAP Static IP 2</Name>
<IAPService>LANService.Ethernet Static IP</IAPService>
- <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
<IAPNetwork>Network.Intranet</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Office</LocationRef>
</IAP>
<IAP operation="add">
- <Name>Emulator Lan IAP 1</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Target Ethernet</IAPBearer>
- <IAPNetwork>Network.mRouter</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office</LocationRef>
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office</LocationRef>
</IAP>
<IAP operation="add">
<Name>Emulator Lan IAP 2</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
<IAPNetwork>Network.Intranet</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Office</LocationRef>
@@ -1198,112 +1198,83 @@
<LANBearerTable>
<LANBearer operation="add">
- <Name>EKA1 Target Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>ethercard</LDDFilename>
- <LDDName>EtherCard</LDDName>
- <PDDFilename>EtherSmc</PDDFilename>
- <PDDName>EtherCard.Smc</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
- </LANBearer>
-
- <LANBearer operation="add">
- <Name>EKA2 Target Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.MOMAP16xx</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
- </LANBearer>
-
- <LANBearer operation="add">
- <Name>EKA1 Emulator Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>ethercard</LDDFilename>
- <LDDName>Ethercard</LDDName>
- <PDDFilename>etherwins</PDDFilename>
- <PDDName>Ethercard.wins</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
- </LANBearer>
-
- <LANBearer operation="add">
- <Name>EKA2 Emulator Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.Wins</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
</LANBearer>
</LANBearerTable>
<LANServiceTable>
<LANService operation="add">
- <Name>Ethernet</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.23.143.254</IpGateway>
- <IpAddr></IpAddr>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>10.16.59.15</IpNameServer1>
- <IpNameServer2>10.112.58.6</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
<LANService operation="add">
- <Name>Ethernet Static IP</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>192.168.20.2</IpGateway>
- <IpAddr>192.168.20.13</IpAddr>
- <IpAddrFromServer>FALSE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>194.72.6.51</IpNameServer1>
- <IpNameServer2>194.72.6.52</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>Ethernet Static IP</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>192.168.20.2</IpGateway>
+ <IpAddrFromServer>FALSE</IpAddrFromServer>
+ <IpAddr>192.168.20.13</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>194.72.6.51</IpNameServer1>
+ <IpNameServer2>194.72.6.52</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
<LANService operation="add">
- <Name>Ethernet Bad Daemon</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.32.194.254</IpGateway>
- <IpAddr>10.32.194.251</IpAddr>
- <IpAddrFromServer>FALSE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>194.72.6.51</IpNameServer1>
- <IpNameServer2>194.72.6.52</IpNameServer2>
- <ConfigDaemonManagerName>NonExistingServ</ConfigDaemonManagerName>
- <ConfigDaemonName>NonExistingServ</ConfigDaemonName>
+ <Name>Ethernet Bad Daemon</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>10.32.194.254</IpGateway>
+ <IpAddrFromServer>FALSE</IpAddrFromServer>
+ <IpAddr>10.32.194.251</IpAddr>
+ <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+ <IpNameServer1>194.72.6.51</IpNameServer1>
+ <IpNameServer2>194.72.6.52</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NonExistingServ</ConfigDaemonManagerName>
+ <ConfigDaemonName>NonExistingServ</ConfigDaemonName>
</LANService>
<LANService operation="add">
- <Name>Ethernet No Daemon</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.32.194.254</IpGateway>
- <IpAddr>10.32.194.251</IpAddr>
- <IpAddrFromServer>FALSE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>194.72.6.51</IpNameServer1>
- <IpNameServer2>194.72.6.52</IpNameServer2>
+ <Name>Ethernet No Daemon</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>10.32.194.254</IpGateway>
+ <IpAddrFromServer>FALSE</IpAddrFromServer>
+ <IpAddr>10.32.194.251</IpAddr>
+ <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+ <IpNameServer1>194.72.6.51</IpNameServer1>
+ <IpNameServer2>194.72.6.52</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
</LANService>
</LANServiceTable>
@@ -1788,7 +1759,7 @@
<Direction>OUTGOING</Direction>
<DialogPref>DONOTPROMPT</DialogPref>
<BearerSet>LAN</BearerSet>
- <IAPRef>IAP.Emulator Lan IAP 1</IAPRef>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
</ConnectionPreferences>
</ConnectionPreferencesTable>
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionethernet_MOMAP16xx.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionethernet_MOMAP16xx.xml Wed Aug 18 10:59:59 2010 +0300
@@ -6,7 +6,6 @@
under the terms of "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".
-
Initial Contributors:
Nokia Corporation - initial contribution.
@@ -69,13 +68,13 @@
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Mobile</LocationRef>
</IAP>
- <IAP operation="add">
- <Name>iTest name cdma2000</Name>
- <IAPService>CDMA2000PacketService.test name cdma2000</IAPService>
- <IAPBearer>ModemBearer.Hungry (Long Timeout)</IAPBearer>
+ <IAP operation="add">
+ <Name>Additional Dial In ISP</Name>
+ <IAPService>DialInISP.Dial In CS ISP</IAPService>
+ <IAPBearer>ModemBearer.Linux</IAPBearer>
<IAPNetwork>Network.NT RAS</IAPNetwork>
<IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Mobile</LocationRef>
+ <LocationRef>Location.Home</LocationRef>
</IAP>
<IAP operation="add">
<Name>Default Dial In ISP</Name>
@@ -102,12 +101,12 @@
<LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
- <Name>Ethernet with Daemon Dynamic IP</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Ethernet</IAPBearer>
- <IAPNetwork>Network.Intranet</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office</LocationRef>
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
<Name>Virtual Comm port</Name>
@@ -620,33 +619,34 @@
<LANBearerTable>
<LANBearer operation="add">
- <Name>EKA2 Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.MOMAP16xx</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
</LANBearer>
</LANBearerTable>
<LANServiceTable>
<LANService operation="add">
- <Name>Ethernet</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.23.143.254</IpGateway>
- <IpAddr></IpAddr>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>10.16.59.15</IpNameServer1>
- <IpNameServer2>10.112.58.6</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
</LANServiceTable>
@@ -891,50 +891,6 @@
<AgentLookupTable>
</AgentLookupTable>
-<CDMA2000PacketServiceTable>
- <CDMA2000PacketService operation="add">
- <Name>test name cdma2000</Name>
- <IwfName>Test2000</IwfName>
- <ServiceOption>HIGHSPEEDCDMA2000DATA</ServiceOption>
- <PdpType>IPV4</PdpType>
- <ReqFwdPriority>PRIORITY04</ReqFwdPriority>
- <ReqRevPriority>PRIORITY04</ReqRevPriority>
- <ReqFwdBitrate>32KBPS</ReqFwdBitrate>
- <ReqRevBitrate>32KBPS</ReqRevBitrate>
- <ReqFwdLoss>LOSS1</ReqFwdLoss>
- <ReqRevLoss>LOSS1</ReqRevLoss>
- <ReqFwdMaxdelay>40MS</ReqFwdMaxdelay>
- <ReqRevMaxdelay>40MS</ReqRevMaxdelay>
- <MinFwdBitrate>8KBPS</MinFwdBitrate>
- <MinRevBitrate>8KBPS</MinRevBitrate>
- <AccptFwdLoss>LOSS2</AccptFwdLoss>
- <AccptRevLoss>LOSS2</AccptRevLoss>
- <AccptFwdMaxdelay>120MS</AccptFwdMaxdelay>
- <AccptRevMaxdelay>120MS</AccptRevMaxdelay>
- <DataCompression>FALSE</DataCompression>
- <HeaderCompression>FALSE</HeaderCompression>
- <AnonymousAccess>FALSE</AnonymousAccess>
- <IfNetworks>ip</IfNetworks>
- <IfAuthName>RasUser</IfAuthName>
- <IfAuthPass>pass</IfAuthPass>
- <AuthRetries>1</AuthRetries>
- <IpNetMask>0.255.255.255</IpNetMask>
- <IpGateway>10.0.0.1</IpGateway>
- <EnableLCPExtension>TRUE</EnableLCPExtension>
- <DisablePlainTextAuth>TRUE</DisablePlainTextAuth>
- <ApType>2</ApType>
- <IfPromptForAuth>FALSE</IfPromptForAuth>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <RlpMode>UNKNOWN</RlpMode>
- <CDMAMobileIP>FALSE</CDMAMobileIP>
- <CDMAMobileIPTimeout>10000000</CDMAMobileIPTimeout>
- </CDMA2000PacketService>
-</CDMA2000PacketServiceTable>
-
-<DefaultCDMA2000Table>
-</DefaultCDMA2000Table>
-
<ChargecardTable>
<Chargecard operation="add">
<Name>Dummy BT Chargecard</Name>
@@ -969,7 +925,7 @@
<Direction>OUTGOING</Direction>
<DialogPref>DONOTPROMPT</DialogPref>
<BearerSet>LAN</BearerSet>
- <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
</ConnectionPreferences>
</ConnectionPreferencesTable>
@@ -1235,5 +1191,3 @@
</CommDB:Config>
-
-
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectiontest_vlan2.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectiontest_vlan2.ini Wed Aug 18 10:59:59 2010 +0300
@@ -31,6 +31,6 @@
[General]
Interface = eth
-NameServerAddr = 10.23.59.108
+NameServerAddr = 10.29.23.10
EchoPort = 7
-LookupAddress = 10.16.59.15
+LookupAddress = 10.29.23.103
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectiontest_vlan7.ini Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectiontest_vlan7.ini Wed Aug 18 10:59:59 2010 +0300
@@ -10,8 +10,7 @@
MissingNifIapNumber = 99
TestNifIapNumber = 12
StaticDnsDynamicAddr = 12
-SimTSYIapNumber = 13
-DummyNifAgentIapNumber= 14
+
[AINIAPs]
SecondHungryNifNumber = 9
@@ -27,12 +26,11 @@
LongTimeout = 6100000
[TCP Config]
-TcpSendAddress = 192.168.20.11
-TestName = httpsmtp.test.intra
+TcpSendAddress = 10.29.23.103
+TestName = httpsmtp02.closedtest.intra
[General]
-#From ipcp => ipcontrol protocol one of the ppp suite of protocols
-Interface = ipcp
-NameServerAddr = 192.168.20.2
+Interface = eth
+NameServerAddr = 10.29.23.10
EchoPort = 7
-LookupAddress = 192.168.20.11
\ No newline at end of file
+LookupAddress = 10.29.23.103
\ No newline at end of file
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionudp_ethernet_MOMAP16xx.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/config/rconnectionudp_ethernet_MOMAP16xx.xml Wed Aug 18 10:59:59 2010 +0300
@@ -6,7 +6,6 @@
under the terms of "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".
-
Initial Contributors:
Nokia Corporation - initial contribution.
@@ -30,10 +29,10 @@
<NetworkTable>
<Network operation="add">
- <Name>NT RAS</Name>
+ <Name>Intranet</Name>
</Network>
<Network operation="add">
- <Name>Intranet</Name>
+ <Name>NT RAS</Name>
</Network>
<Network operation="add">
<Name>Linux</Name>
@@ -66,8 +65,8 @@
<IAPNetworkWeighting>0</IAPNetworkWeighting>
<LocationRef>Location.Mobile</LocationRef>
</IAP>
- <IAP operation="add">
- <Name>Additional Default Dial In ISP</Name>
+ <IAP operation="add">
+ <Name>Additional Dial In ISP</Name>
<IAPService>DialInISP.Dial In CS ISP</IAPService>
<IAPBearer>ModemBearer.Linux</IAPBearer>
<IAPNetwork>Network.NT RAS</IAPNetwork>
@@ -99,12 +98,12 @@
<LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
- <Name>Ethernet with Daemon Dynamic IP</Name>
- <IAPService>LANService.Ethernet</IAPService>
- <IAPBearer>LANBearer.EKA2 Ethernet</IAPBearer>
- <IAPNetwork>Network.Intranet</IAPNetwork>
- <IAPNetworkWeighting>0</IAPNetworkWeighting>
- <LocationRef>Location.Office</LocationRef>
+ <Name>WlanConnectivity</Name>
+ <IAPService>LANService.WlanConnectivity</IAPService>
+ <IAPBearer>LANBearer.WLANBearer</IAPBearer>
+ <IAPNetwork>Network.Intranet</IAPNetwork>
+ <IAPNetworkWeighting>0</IAPNetworkWeighting>
+ <LocationRef>Location.Office Direct Dial</LocationRef>
</IAP>
<IAP operation="add">
<Name>Virtual Comm port</Name>
@@ -155,7 +154,7 @@
<LocationRef>Location.Office</LocationRef>
</IAP>
</IAPTable>
-
+
<ModemBearerTable>
<ModemBearer operation="template">
<Name>Default Modem</Name>
@@ -703,33 +702,34 @@
<LANBearerTable>
<LANBearer operation="add">
- <Name>EKA2 Ethernet</Name>
- <Agent>nullagt.agt</Agent>
- <IfName>ethint</IfName>
- <LDDFilename>enet</LDDFilename>
- <LDDName>Ethernet</LDDName>
- <PDDFilename>ethernet</PDDFilename>
- <PDDName>Ethernet.MOMAP16xx</PDDName>
- <PacketDriverName>EtherPkt.drv</PacketDriverName>
- <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
- <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
- <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Name>WLANBearer</Name>
+ <IfName>wlannif</IfName>
+ <LDDName>not used</LDDName>
+ <PDDName>not used</PDDName>
+ <LastSocketActivityTimeout>10</LastSocketActivityTimeout>
+ <LastSessionClosedTimeout>10</LastSessionClosedTimeout>
+ <LastSocketClosedTimeout>10</LastSocketClosedTimeout>
+ <Agent>wlanagt.agt</Agent>
</LANBearer>
</LANBearerTable>
<LANServiceTable>
<LANService operation="add">
- <Name>Ethernet</Name>
- <IfNetworks>ip</IfNetworks>
- <IpNetMask>255.255.255.0</IpNetMask>
- <IpGateway>10.23.143.254</IpGateway>
- <IpAddr></IpAddr>
- <IpAddrFromServer>TRUE</IpAddrFromServer>
- <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
- <IpNameServer1>10.16.59.15</IpNameServer1>
- <IpNameServer2>10.112.58.6</IpNameServer2>
- <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
- <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+ <Name>WlanConnectivity</Name>
+ <IfNetworks>ip</IfNetworks>
+ <IpNetMask>255.255.255.0</IpNetMask>
+ <IpGateway>0.0.0.0</IpGateway>
+ <IpAddrFromServer>TRUE</IpAddrFromServer>
+ <IpAddr>0.0.0.0</IpAddr>
+ <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+ <IpNameServer1>0.0.0.0</IpNameServer1>
+ <IpNameServer2>0.0.0.0</IpNameServer2>
+ <Ip6DnsAddrFromServer>TRUE</Ip6DnsAddrFromServer>
+ <Ip6NameServer1>0:0:0:0:0:0:0:0</Ip6NameServer1>
+ <Ip6NameServer2>0:0:0:0:0:0:0:0</Ip6NameServer2>
+ <IpAddrLeaseValidFrom>0</IpAddrLeaseValidFrom>
+ <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+ <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
</LANService>
</LANServiceTable>
@@ -1049,8 +1049,8 @@
<Ranking>1</Ranking>
<Direction>OUTGOING</Direction>
<DialogPref>DONOTPROMPT</DialogPref>
- <BearerSet>CSD</BearerSet>
- <IAPRef>IAP.Dummy</IAPRef>
+ <BearerSet>LAN</BearerSet>
+ <IAPRef>IAP.WlanConnectivity</IAPRef>
</ConnectionPreferences>
</ConnectionPreferencesTable>
--- a/datacommsserver/esockserver/test/TE_RConnectionSuite/src/TE_RConnectionDummyNifTestSteps.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_RConnectionSuite/src/TE_RConnectionDummyNifTestSteps.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -142,7 +142,10 @@
void CProgressWatcherTest1b::DoCancel()
{
- iConnection.CancelProgressNotification();
+ if (iConnection.SubSessionHandle() != 0)
+ {
+ iConnection.CancelProgressNotification();
+ }
}
void CProgressWatcherTest1b::RunL()
@@ -220,12 +223,11 @@
{
INFO_PRINTF2(_L("Closing Connection at Stage %d"), iProgressWatcher->Progress()().iStage);
}
-
- Cancel();
+ Cancel();
delete iProgressWatcher;
iProgressWatcher = NULL;
- iConnection.Close();
+
iSocketServ.Close();
}
@@ -244,6 +246,7 @@
void CConnectionTest1b::DoCancel()
{
+ iConnection.Close();
StopProgressObservation();
}
--- a/datacommsserver/esockserver/test/TE_Socket/SocketTestSection1.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/TE_Socket/SocketTestSection1.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -384,15 +384,21 @@
{
sockNum--;
}
- Logger().WriteFormat(_L("Created %d sockets, expected at least %d sockets"), sockNum, sockCount1);
- TESTL(sockNum >= sockCount1);
+ Logger().WriteFormat(_L("Created %d sockets"), sockNum);
+
+ // Not sure what use it is to test whether we can open at least as many sockets as previously.
+ // We can't assume that once we've freed all the sockets first time around that the ESock heap will
+ // go back exactly to where it was before - this makes assumptions about the ESock algorithms. Why
+ // wouldn't ESock legitimately cache objects, for example?
+ //TESTL(sockNum >= sockCount1);
- Logger().WriteFormat(_L("Freeing sockets in creation order"));
- for (i=0; i<sockNum; i++)
- {
- socks[i].Close();
- }
-
+ //
+ // NOTE:
+ // We do *not* free up the sockets but just close the session. This is to exercise the subsession
+ // cleanup behaviour in ESock with a large number of sockets. We test that this cleanup operation
+ // does not overflow the transport queue, as each subsession cleanup results in a message being sent.
+ //
+
#endif // (_DEBUG) }
CleanupStack::PopAndDestroy(socks);
--- a/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h Wed Aug 18 10:59:59 2010 +0300
@@ -77,7 +77,7 @@
class CDelayTimer: public CTimer
{
public:
- static CDelayTimer* NewL( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
+ static CDelayTimer* NewL( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
virtual ~CDelayTimer();
void Start( TInt aIntervalInSecs );
@@ -91,16 +91,43 @@
};
private:
- CDelayTimer( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
+ CDelayTimer( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
void ConstructL();
protected: // From CTimer (CActive)
void RunL();
private:
- Messages::RNodeInterface* iSender;
+ Messages::TNodeId iSender;
Messages::TNodeId iRecipient;
Messages::TNodeSignal::TMessageId iMessageId;
+
+public:
+ //States and Transitions
+ typedef MeshMachine::TNodeContext<ESock::CMMCommsProviderBase, CoreNetStates::TContext> TContext;
+
+ template <TInt IntervalMs>
+ class TSetTimerMs : public MeshMachine::TStateTransition<TContext>
+ {
+ public:
+ NETSM_TPL_DECLARE_CTR(TSetTimerMs, NetStateMachine::MStateTransition, TContext)
+
+ TSetTimerMs(TContext& aContext)
+ :TStateTransition<TContext>(aContext)
+ {
+ }
+
+ virtual void DoL()
+ {
+ CDelayTimer* delay = CDelayTimer::NewL(iContext.NodeId(), iContext.NodeId(), Messages::TEBase::TNull::Id());
+ delay->Start(IntervalMs);
+ }
+ };
+
+
+ DECLARE_SMELEMENT_HEADER( TAwaitingTimerExpired, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
+ virtual TBool Accept();
+ DECLARE_SMELEMENT_FOOTER( TAwaitingTimerExpired )
};
--- a/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_metaconnprov.h Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_metaconnprov.h Wed Aug 18 10:59:59 2010 +0300
@@ -75,13 +75,39 @@
CMCPrPubSubStopTrigger* iPubSubStopTrigger;
};
-namespace DummyMCPRStates
-{
-typedef MeshMachine::TNodeContext<CDummyMetaConnectionProvider,PRStates::TContext> TContext;
-DECLARE_SMELEMENT_HEADER( TNoTagOrLoopTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, DummyMCPRStates::TContext )
- virtual TInt TransitionTag();
-DECLARE_SMELEMENT_FOOTER( TNoTagOrLoopTag )
-} // namespace DummyMCPRStates
+
+class CDummyMCPRControlClientJoinActivity : public MeshMachine::CNodeParallelActivityBase
+ {
+public:
+ static MeshMachine::CNodeActivityBase* NewL( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode );
+ void ReplaceOriginator(Messages::RNodeInterface& aOriginator);
+protected:
+ CDummyMCPRControlClientJoinActivity( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode, TUint aNextActivityCount )
+ :MeshMachine::CNodeParallelActivityBase( aActivitySig, aNode, aNextActivityCount )
+ {};
+ void Cancel(MeshMachine::TNodeContextBase& /*aContext*/)
+ {
+ //CDummyMCPRControlClientJoinActivity ignores TCancels, for it's easier than actually handling cancelations. Handling cancelations in join scenarios is not practically
+ //interesting as joins are normally very swift. This join isn't swift as it's been modified to artificially yield (again easier to yield in Join than elsewhere)
+ };
+
+private:
+ ~CDummyMCPRControlClientJoinActivity()
+ {
+ };
+public:
+ typedef MeshMachine::TNodeContext<CDummyMetaConnectionProvider,PRStates::TContext, CDummyMCPRControlClientJoinActivity> TContext;
+ DECLARE_SMELEMENT_HEADER( TAddControlClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
+ virtual void DoL();
+ DECLARE_SMELEMENT_FOOTER( TAddControlClient )
+
+ DECLARE_SMELEMENT_HEADER( TSendJoinComplete, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
+ virtual void DoL();
+ DECLARE_SMELEMENT_FOOTER( TSendJoinComplete )
+
+ friend class TAddControlClient;
+ };
+
#endif //SYMBIAN_DUMMYPR_METACONNPROV_H
--- a/datacommsserver/esockserver/test/providers/dummy/src/dummypr_connprov.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/src/dummypr_connprov.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -52,14 +52,13 @@
static const TUint KDefaultMaxPreallocatedActivityCount = 2;
static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>);
static const TUint KDummyCPRPreallocatedActivityBufferSize = KDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize;
-static const TUint KDestroyDelay = 3;
-static const TUint KMillion = 1000000;
+static const TUint KDestroyDelay = 3000;
//-================================================
//
// States and Transitions
//
//-================================================
-CDelayTimer* CDelayTimer::NewL( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId )
+CDelayTimer* CDelayTimer::NewL( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId )
{
CDelayTimer* timer = new(ELeave) CDelayTimer( aSender, aRecipient, aMessageId );
CleanupStack::PushL( timer );
@@ -73,7 +72,7 @@
Cancel();
}
-CDelayTimer::CDelayTimer( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId ) :
+CDelayTimer::CDelayTimer( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId ) :
CTimer( EPriorityStandard ),
iSender(aSender),
iRecipient(aRecipient),
@@ -90,13 +89,13 @@
void CDelayTimer::RunL()
{
CDelayTimer::TDelayMessage msg(iMessageId);
- Messages::RClientInterface::OpenPostMessageClose(iSender->RecipientId() , iRecipient, msg );
+ Messages::RClientInterface::OpenPostMessageClose(iSender, iRecipient, msg );
delete this;
}
-void CDelayTimer::Start( TInt aIntervalInSecs )
+void CDelayTimer::Start( TInt aIntervalInMSecs )
{
- After( TTimeIntervalMicroSeconds32( aIntervalInSecs * KMillion ) );
+ After( TTimeIntervalMicroSeconds32( aIntervalInMSecs * 1000 ) );
}
CDelayTimer::TDelayMessage::TDelayMessage()
@@ -109,6 +108,12 @@
}
+DEFINE_SMELEMENT(CDelayTimer::TAwaitingTimerExpired, NetStateMachine::MState, CDelayTimer::TContext)
+TBool CDelayTimer::TAwaitingTimerExpired::Accept()
+ {
+ return iContext.iMessage.IsMessage<Messages::TEBase::TNull>();
+ }
+
namespace DummyCPRStates
{
DEFINE_SMELEMENT(TSetClientAsIncoming, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
@@ -141,7 +146,7 @@
DEFINE_SMELEMENT(TThreeSecDelayAndPostToSelf, NetStateMachine::MStateTransition, DummyCPRStates::TContext)
void TThreeSecDelayAndPostToSelf::DoL()
{
- CDelayTimer* delay = CDelayTimer::NewL(iContext.Node().ControlProvider(), iContext.NodeId(), iContext.iMessage.MessageId() );
+ CDelayTimer* delay = CDelayTimer::NewL(iContext.Node().ControlProvider()->RecipientId(), iContext.NodeId(), iContext.iMessage.MessageId() );
delay->Start(KDestroyDelay);
}
--- a/datacommsserver/esockserver/test/providers/dummy/src/dummypr_metaconnprov.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/src/dummypr_metaconnprov.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -27,6 +27,7 @@
#include <elements/nm_messages_errorrecovery.h>
#include <comms-infras/mobilitymcpractivities.h>
#include "dummypr_metaconnprov.h"
+#include "dummypr_connprov.h"
#include "dummypr_mcprpubsubsubscriber.h"
#ifdef _DEBUG
@@ -42,10 +43,70 @@
+DEFINE_SMELEMENT(CDummyMCPRControlClientJoinActivity::TAddControlClient, NetStateMachine::MStateTransition, TContext)
+void CDummyMCPRControlClientJoinActivity::TAddControlClient::DoL()
+ {
+ TCFPeer::TJoinRequest& msg = message_cast<TCFPeer::TJoinRequest>(iContext.iMessage);
+
+ // Client type could be Messages::TClientType::EWorker (Selection Request)
+ // or ESock::TCFClientType::ECtrl, possibly others but not ESock::TCFClientType::EData
+ // which is handled by another activity
+ ASSERT(msg.iClientType.Type() != (TUint32)TCFClientType::EData);
+
+ iContext.Activity()->ReplaceOriginator(
+ *iContext.Node().AddClientL(msg.iNodeId, TClientType(TCFClientType::ECtrl)));
+ }
+
+
+DEFINE_SMELEMENT(CDummyMCPRControlClientJoinActivity::TSendJoinComplete, NetStateMachine::MStateTransition, TContext)
+void CDummyMCPRControlClientJoinActivity::TSendJoinComplete::DoL()
+ {
+ ASSERT(iContext.iNodeActivity);
+
+ iContext.iNodeActivity->PostToOriginators(TCFPeer::TJoinComplete().CRef());
+ }
+
+
+MeshMachine::CNodeActivityBase* CDummyMCPRControlClientJoinActivity::NewL( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode )
+ {
+ TUint c = GetNextActivityCountL(aActivitySig,aNode);
+ return new(ELeave)CDummyMCPRControlClientJoinActivity(aActivitySig, aNode, c);
+ }
+
+void CDummyMCPRControlClientJoinActivity::ReplaceOriginator(RNodeInterface& aOriginator)
+ {
+ iOriginators.Remove(0);
+ TInt err = KErrNone;
+ TRAP(err, iOriginators.AppendL(XNodePeerId(aOriginator.RecipientId(), &aOriginator)));
+ ASSERT(err == KErrNone); //This test code is a wee bit lame. If executed in OOM, it may not work.
+ }
+
+namespace DummyMCPRControlClientJoinActivity
+{
+//DummyMCPRControlClientJoin is a special version of the core MCPR join activity that will artificially yield some time (50ms) to schedule the
+//test app. This is done to test RConnection::Stop injections at various RConnection::Start stages. Production MCPRs yield a lot reading database or
+//consulting other external entities, so the test MCPR must try to be representative.
+DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityClientJoin, DummyMCPRControlClientJoin, TCFServiceProvider::TJoinRequest, CDummyMCPRControlClientJoinActivity::NewL)
+ FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingControlClientJoin, MeshMachine::TNoTag)
+ THROUGH_NODEACTIVITY_ENTRY(KNoTag, CDummyMCPRControlClientJoinActivity::TAddControlClient, MeshMachine::TNoTag)
+ NODEACTIVITY_ENTRY(KNoTag, CDelayTimer::TSetTimerMs<50>, CDelayTimer::TAwaitingTimerExpired, MeshMachine::TNoTag)
+ THROUGH_NODEACTIVITY_ENTRY(KNoTag, MCprStates::TDecrementBlockingDestroy, MeshMachine::TNoTag)
+ LAST_NODEACTIVITY_ENTRY(KNoTag, CDummyMCPRControlClientJoinActivity::TSendJoinComplete)
+NODEACTIVITY_END()
+}
+
+
+namespace DummyMCPRActivities
+{
+DECLARE_DEFINE_ACTIVITY_MAP(stateMap)
+ ACTIVITY_MAP_ENTRY(DummyMCPRControlClientJoinActivity, DummyMCPRControlClientJoin)
+ACTIVITY_MAP_END_BASE(MobilityMCprActivities, mobilityMCprActivities)
+}
+
CDummyMetaConnectionProvider* CDummyMetaConnectionProvider::NewL(CMetaConnectionProviderFactoryBase& aFactory,
const TProviderInfo& aProviderInfo)
{
- CDummyMetaConnectionProvider* self = new (ELeave) CDummyMetaConnectionProvider(aFactory,aProviderInfo,MobilityMCprActivities::mobilityMCprActivities::Self());
+ CDummyMetaConnectionProvider* self = new (ELeave) CDummyMetaConnectionProvider(aFactory,aProviderInfo,DummyMCPRActivities::stateMap::Self());
CleanupStack::PushL(self);
self->ConstructL();
CleanupStack::Pop(self);
Binary file general/WLAN_template_cccccc00.cre has changed
--- a/general/bld.inf Fri Jun 11 14:52:21 2010 +0300
+++ b/general/bld.inf Wed Aug 18 10:59:59 2010 +0300
@@ -22,11 +22,15 @@
//-- CommsFramework Test OBY/IBY Files
./commsframeworktest.iby /epoc32/rom/include/commsframeworktest.iby
+./commsfw_test.iby /epoc32/rom/include/commsfw_test.iby
PRJ_TESTEXPORTS
// File run before every hardware test that can be added to pre-ROM build
./te_initialiseboard.script z:/testdata/scripts/te_initialiseboard.script
+./commsfw_startedservices.xml z:/testdata/configs/commsfw_startedservices.xml
+./commsfw_bootwlan.bat z:/testdata/configs/commsfw_bootwlan.bat
+./WLAN_template_cccccc00.cre z:/testdata/configs/WLAN_template_cccccc00.cre
PRJ_MMPFILES
--- a/general/commsframework.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/general/commsframework.iby Wed Aug 18 10:59:59 2010 +0300
@@ -31,6 +31,7 @@
//================ Comms-Infras Subsystem ==================
#include <commslog.iby>
+#include <cntmodel.iby>
#include <commdb.iby>
#include <commsdat.iby>
--- a/general/commsframeworktest.iby Fri Jun 11 14:52:21 2010 +0300
+++ b/general/commsframeworktest.iby Wed Aug 18 10:59:59 2010 +0300
@@ -30,6 +30,7 @@
|| defined(CI_TEST_ROM_1) || defined(CI_TEST_ROM_2) || defined(CI_TEST_ROM_3) || defined(CI_TEST_ROM_4) \
|| defined(WAPSTACK_TEST_ROM) \
|| defined(SERCOMMS_TEST_ROM) \
+ || defined(__NETWORKING_TEST_OBY__) \
)
// Rom build hasn't explicitly defined a subset of tests to include so to avoid
@@ -45,6 +46,9 @@
#define WAPSTACK_TEST_ROM
#define SERCOMMS_TEST_ROM
+//#define NETWORKING_UPS_TESTS
+//#define SYMBIAN_FLEXMM_ZERO_COPY_NETWORKING
+#define __NETWORKING_TEST_OBY__
#endif
@@ -166,12 +170,24 @@
#ifdef SYMBIAN_FLEXMM_ZERO_COPY_NETWORKING
#include <zerocopy_loopback_driver.iby>
#include <legacy_loopback_driver.iby>
+#include <commsbufskern.iby>
#include <zerocopy_loopback_driver_test.iby>
#include <legacy_loopback_driver_test.iby>
#include <zerocopy_loopback_link_protocol.iby>
#include <legacy_loopback_link_protocol.iby>
+#endif
+
#include <te_loopback.iby>
-#endif
+#include <Te_Cap_RConnDHCP.IBY>
+#include <Te_Cap_RES.IBY>
+#include <Te_Cap_Esock.IBY>
+#include <Te_Cap_RConnServ.IBY>
+#include <te_cap_esock_transfer.iby>
+#include <te_cap_rootserver.iby>
+#include <Te_Cap_Configurator.IBY>
+#include <te_esockteststepssuite.iby>
+#include <te_UmtsGprsScpr.iby>
+#include <SerComms.IBY>
// RootServer Tests
#ifdef CI_TEST_ROM_3
@@ -248,8 +264,19 @@
#if defined(CI_TEST_ROM_1) || defined(NW_TEST_ROM_1)
#include <te_pppsize.iby>
#include <ts_dummyppp.iby>
-
+#include <zerocopy_loopback_driver.iby>
+#include <te_loopback.iby>
#include <te_pppcomp.iby>
+#include <te_configutil.iby>
+#include <te_Configuratorsuite.iby>
+#include <te_http.iby>
+#include <integrationtest.iby>
+#include <te_sblpsuite.iby>
+#include <te_DedicatedSignalling1ryCtx.iby>
+#include <TE_SpudUnit.iby>
+#include <integrationtest.iby>
+#include <te_cedsuite.iby>
+#include <wapmessage.iby>
#include <te_vjcomp.iby>
#include <te_incoming_ppp.iby>
#endif
@@ -272,9 +299,9 @@
//////#include <qostesting.iby>
// Sockbench Tests
-#if defined(CI_TEST_ROM_1) || defined(NW_TEST_ROM_2)
-#include <sockbench.iby>
-#endif
+//#if defined(CI_TEST_ROM_1) || defined(NW_TEST_ROM_2)
+//#include <sockbench.iby>
+//#endif
// TLS (SSL) Tests
#ifdef NW_TEST_ROM_1
@@ -343,7 +370,7 @@
#include <swi.iby>
REM --- NETSTEB PERFORMANCE TEST FRAMEWORK ---
-#include <te_STEBTestSuite.iby>
+REM #include <te_STEBTestSuite.iby>
REM --- EAP Tests ---
REM #include <te_eap.iby>
@@ -355,7 +382,8 @@
#include <upstestnotifier.iby>
#include <netups_test.iby>
-#if defined(CI_TEST_ROM_1) || defined(CI_TEST_ROM_4)
+#if defined(CI_TEST_ROM_1) || defined(CI_TEST_ROM_2)
+#include <netups.iby>
REM #include <te_ipups.iby>
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/general/commsfw_bootwlan.bat Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,11 @@
+md \testframework
+md \testframework\ncpkickstart\
+copy z:\testdata\configs\commsfw_startedservices.xml c:\testframework\ncpkickstart\startedservices.xml
+attrib c:\testframework\ncpkickstart\startedservices.xml -r
+md \private
+md \private\A0000C67
+REM NcpKickStart.exe copies this CRE file to c:\private\10202be9\persists\cccccc00.cre
+copy z:\testdata\configs\WLAN_template_cccccc00.cre c:\private\A0000C67\cccccc00.cre
+attrib c:\private\A0000C67\cccccc00.cre -r
+NcpKickStart.exe
+z:\sys\bin\htiframework.exe
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/general/commsfw_startedservices.xml Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+
+<!--
+Example configuration file for NCPKickStart
+
+ Version : $Author: jojokine $
+ Revision : $Revision: 19099 $
+ Date : $Date: 2010-01-13 11:44:26 +0200 (ke, 13 tammi 2010) $
+-->
+
+<NcpKickStart>
+
+ <!-- Global Configuration items -->
+ <Configuration>
+ <Version>1.0</Version>
+ <LogToFile>true</LogToFile> <!-- true/false, trace to RDebug is always on -->
+ </Configuration>
+
+ <!-- Services and their parameters -->
+ <OrderedServiceList>
+
+ <Service>
+ <Name>MtcStartupSyncReq</Name>
+ <Type>MtcIsiMessage</Type>
+ <Delay>4000000</Delay>
+ </Service>
+
+ <Service>
+ <Name>MtcStateReq</Name>
+ <Type>MtcIsiMessage</Type>
+ <Delay>4000000</Delay>
+ </Service>
+
+<!--
+ !!! WLan is commented out because loading device drivers cause a boot in Gundam W20 release !!!
+ <Service>
+ <Name>WLANPhysicalDeviceDriver</Name>
+ <Type>DeviceDriver</Type>
+ <Delay>0</Delay>
+ <ExtraParameters DeviceDriverType="Physical" DeviceDriverName="wlanpddumac" DeviceDriverFindPattern="wlan.phys"/>
+ </Service>
+ <Service>
+ <Name>WLANLogicalDeviceDriver</Name>
+ <Type>DeviceDriver</Type>
+ <Delay>0</Delay>
+ <ExtraParameters DeviceDriverType="Logical" DeviceDriverName="wlanldd" DeviceDriverFindPattern="wlan"/>
+ </Service>
+ <Service>
+ <Name>WlanInitAndTestCard</Name>
+ <Type>Special</Type>
+ <Delay>0</Delay>
+ </Service>
+-->
+
+ <!-- This service's implementation was previously part of CStateRunning's
+ implementation, THIS SERVICE MUST BE STARTED LAST!!! -->
+ <Service>
+ <Name>MtcStartupSyncReqAndStateReq</Name>
+ <Type>FinalMtcIsiMessage</Type>
+ <Delay>4000000</Delay>
+ </Service>
+
+ <!-- DO NO ADD ANY SERVICES AFTER MtcStartupSyncReqAndStateReq !!! -->
+
+ </OrderedServiceList>
+
+</NcpKickStart>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/general/commsfw_test.iby Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,16 @@
+#ifndef COMMSFW_TEST_IBY
+#define COMMSFW_TEST_IBY
+
+//#include "include/core/os/EnableCommsLogs.iby"
+#include "cflog.iby"
+
+#include "CommsFrameworkTest.iby"
+//#include "commsfw_configwlan.iby"
+// For ncpkickstart
+data=DATAZ_\testdata\configs\commsfw_startedservices.xml \testdata\configs\commsfw_startedservices.xml
+data=DATAZ_\testdata\configs\WLAN_template_cccccc00.cre \testdata\configs\WLAN_template_cccccc00.cre
+data-override=DATAZ_\testdata\configs\commsfw_bootwlan.bat \autoexec.bat
+
+
+
+#endif
\ No newline at end of file
--- a/package_definition.xml Fri Jun 11 14:52:21 2010 +0300
+++ b/package_definition.xml Wed Aug 18 10:59:59 2010 +0300
@@ -52,7 +52,7 @@
</component>
</collection>
<collection id="commsfwutils" name="Comms Framework Utilities" level="framework">
- <component id="commsbufs" name="Comms Buffers" introduced="tb92" purpose="mandatory">
+ <component id="commsbufs" name="Comms Buffers" introduced="^3" purpose="mandatory">
<unit bldFile="commsfwutils/commsbufs/group" mrp="commsfwutils/commsbufs/group/comms-infras_commsbufs.mrp"/>
</component>
</collection>
@@ -60,7 +60,7 @@
<component id="commsinfrastructuredocs" name="Comms Infrastructure Documentation" introduced="7.0" purpose="development" class="doc">
<unit mrp="commsfw_info/commsinfrastructuredocs/comms-infras_documentation.mrp"/>
</component>
- <component id="commsfw_metadata" name="Communications Framework Metadata" class="config" introduced="tb91" purpose="development" target="desktop">
+ <component id="commsfw_metadata" name="Communications Framework Metadata" class="config" introduced="^2" purpose="development" target="desktop">
<unit mrp="commsfw_info/commsfw_metadata/commsfw_metadata.mrp"/>
</component>
</collection>
@@ -70,7 +70,7 @@
</component>
</collection>
<collection id="commsinfrastructureapitest" name="Comms-Infras API Tests" level="app-if">
- <component id="commsinfrastructuresvs" name="Comms Infrastructure Verification Suite" introduced="tb92" purpose="development">
+ <component id="commsinfrastructuresvs" name="Comms Infrastructure Verification Suite" introduced="^3" purpose="development">
<unit mrp="commsinfrastructureapitest/commsinfrastructuresvs/group/commsinfrastructuresvs.mrp"/>
</component>
</collection>
@@ -81,7 +81,7 @@
<component id="installdefaultcommsdatabase" name="Install Default Comms Database" purpose="mandatory" target="desktop">
<unit bldFile="commsfwtools/preparedefaultcommsdatabase/installdefaultcommdb/group" mrp="commsfwtools/preparedefaultcommsdatabase/installdefaultcommdb/group/comms-infras_installdefaultcommdb.mrp" priority="1010"/>
</component>
- <component id="commstools" name="Comms Tools" introduced="tb92" purpose="development" target="desktop">
+ <component id="commstools" name="Comms Tools" introduced="^3" purpose="development" target="desktop">
<unit bldFile="commsfwtools/commstools/group" mrp="commsfwtools/commstools/group/comms-infras_tools.mrp"/>
</component>
</collection>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml Wed Aug 18 10:59:59 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="os"/>
--- a/serialserver/c32serialserver/LOOPBACK/LOGGER.CPP Fri Jun 11 14:52:21 2010 +0300
+++ b/serialserver/c32serialserver/LOOPBACK/LOGGER.CPP Wed Aug 18 10:59:59 2010 +0300
@@ -74,7 +74,7 @@
{
if (FolderExists())
{
- iFs.Connect();
+ User::LeaveIfError(iFs.Connect());
TInt ret=KErrNone;
#if !(defined (_DEBUG))
ret=iFs.Delete(KHayesLogFileName);
@@ -260,7 +260,7 @@
*/
{
TUint n;
- iFs.Connect();
+ User::LeaveIfError(iFs.Connect());
TInt ret=iFs.Att(KHayesLogFolder,n);
iFs.Close();
--- a/serialserver/c32serialserver/Test/CapTestFramework/SerComms.IBY Fri Jun 11 14:52:21 2010 +0300
+++ b/serialserver/c32serialserver/Test/CapTestFramework/SerComms.IBY Wed Aug 18 10:59:59 2010 +0300
@@ -18,6 +18,28 @@
#ifndef __Cap_PARAM_SVR_SUITENAME_IBY__
#define __Cap_PARAM_SVR_SUITENAME_IBY__
-file=ABI_DIR\DEBUG_DIR\Cap_PARAM_SVR_SUITENAME.DLL System\bin\Cap_PARAM_SVR_SUITENAME.DLL
-
+data=ABI_DIR\DEBUG_DIR\Cap_PARAM_SVR_SUITENAME.exe sys\bin\Cap_PARAM_SVR_SUITENAME.exe
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Sercomms.script TestData\Scripts\Sercomms.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000000_SerCommsSub.script TestData\Scripts\Cap_00000000_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00000002_SerCommsSub.script TestData\Scripts\Cap_00000002_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00002000_SerCommsSub.script TestData\Scripts\Cap_00002000_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0001fffe_SerCommsSub.script TestData\Scripts\Cap_0001fffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0002fffe_SerCommsSub.script TestData\Scripts\Cap_0002fffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_00037ffe_SerCommsSub.script TestData\Scripts\Cap_00037ffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003bffe_SerCommsSub.script TestData\Scripts\Cap_0003bffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003dffe_SerCommsSub.script TestData\Scripts\Cap_0003dffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003effe_SerCommsSub.script TestData\Scripts\Cap_0003effe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003f7fe_SerCommsSub.script TestData\Scripts\Cap_0003f7fe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fbfe_SerCommsSub.script TestData\Scripts\Cap_0003fbfe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fdfe_SerCommsSub.script TestData\Scripts\Cap_0003fdfe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fefe_SerCommsSub.script TestData\Scripts\Cap_0003fefe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003ff7e_SerCommsSub.script TestData\Scripts\Cap_0003ff7e_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003ffbe_SerCommsSub.script TestData\Scripts\Cap_0003ffbe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003ffde_SerCommsSub.script TestData\Scripts\Cap_0003ffde_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003ffee_SerCommsSub.script TestData\Scripts\Cap_0003ffee_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fff6_SerCommsSub.script TestData\Scripts\Cap_0003fff6_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fffa_SerCommsSub.script TestData\Scripts\Cap_0003fffa_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fffc_SerCommsSub.script TestData\Scripts\Cap_0003fffc_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_0003fffe_SerCommsSub.script TestData\Scripts\Cap_0003fffe_SerCommsSub.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\TestData\Scripts\Cap_80000000_SerCommsSub.script TestData\Scripts\Cap_80000000_SerCommsSub.script
#endif
--- a/serialserver/c32serialserver/Test/TE_C32/util/src/c32loader.cpp Fri Jun 11 14:52:21 2010 +0300
+++ b/serialserver/c32serialserver/Test/TE_C32/util/src/c32loader.cpp Wed Aug 18 10:59:59 2010 +0300
@@ -51,14 +51,14 @@
if (result!=KErrNone && result!=KErrAlreadyExists)
{
__FLOG_1(_L("Could not load PDD! Leaving with error %d."), result);
- return result;
+// return result;
}
result=User::LoadLogicalDevice(LDD_NAME);
if (result!=KErrNone && result!=KErrAlreadyExists)
{
__FLOG_1(_L("Could not load LDD! Leaving with error %d."), result);
- return result;
+// return result;
}
#endif
// Warm-boot the Comms Process, but avoid loading the Phonebook Synchronizer
@@ -309,7 +309,7 @@
// LEave with last seen error, if any
if(err!=KErrNone)
{
- User::Leave(err);
+// User::Leave(err);
}
if (checkForLeaks)