# HG changeset patch # User hgs # Date 1285233775 -3600 # Node ID dd4909eb54cdb726ee7a709684092b6334fdcfc1 # Parent c9776eadbffd9142fab80963241c0930fe73a151 201037_01 diff -r c9776eadbffd -r dd4909eb54cd commsfw_info/commsinfrastructuredocs/doc_pub/Comms-Infras_Subsystem_How_to_implement_a_layer.doc Binary file commsfw_info/commsinfrastructuredocs/doc_pub/Comms-Infras_Subsystem_How_to_implement_a_layer.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfw_info/commsinfrastructuredocs/doc_pub/Selection Fundamentals.doc Binary file commsfw_info/commsinfrastructuredocs/doc_pub/Selection Fundamentals.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwtools/preparedefaultcommsdatabase/Tools/ced/doc_pub/Commdb_Configuration_Editor.doc Binary file commsfwtools/preparedefaultcommsdatabase/Tools/ced/doc_pub/Commdb_Configuration_Editor.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwtools/preparedefaultcommsdatabase/doc_pub/Comms Database Data Schema Description.doc Binary file commsfwtools/preparedefaultcommsdatabase/doc_pub/Comms Database Data Schema Description.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwtools/preparedefaultcommsdatabase/doc_pub/CommsDatAPI.doc Binary file commsfwtools/preparedefaultcommsdatabase/doc_pub/CommsDatAPI.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwtools/preparedefaultcommsdatabase/doc_pub/HowTo_Access_Points.doc Binary file commsfwtools/preparedefaultcommsdatabase/doc_pub/HowTo_Access_Points.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/doc_pub/CommsBufsDesign.doc Binary file commsfwutils/commsbufs/doc_pub/CommsBufsDesign.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/group/bld.inf --- a/commsfwutils/commsbufs/group/bld.inf Mon Sep 13 15:06:46 2010 +0100 +++ b/commsfwutils/commsbufs/group/bld.inf Thu Sep 23 10:22:55 2010 +0100 @@ -97,6 +97,8 @@ #include "../reference/loopback_driver/bld.inf" #include "../reference/zerocopy_loopback_driver/bld.inf" +#include "../mbufgobblerlayer/group/bld.inf" + #else #include "../version1/mbufmgr/group/bld.inf" diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/bwins/mbufgobbleru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/bwins/mbufgobbleru.def Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/data/dummy_static_normal.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/data/dummy_static_normal.cfg Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,1594 @@ +############################################################ +## AUTO-GENERATED CONFIGURATION FILE +## CommsDat Database Dump Utility +## 1.1 +############################################################ + +############################################################ +## Network +## +[Network] +ADD_SECTION +# COMMDB_ID = 1 + Name=Intranet + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Intranet2 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Intranet3 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Intranet4 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=Intranet5 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Intranet6 + FIELD_COUNT=1 +END_ADD + + +############################################################ +## ModemBearer +## +[ModemBearer] +ADD_TEMPLATE + Name=Default Loopback Modem + TSYName=SIM + CSYName=PKTLOOPBACK + LastSocketActivityTimeout=180 + LastSessionClosedTimeout=4 + LastSocketClosedTimeout=6 + DataBits=8 + StopBits=1 + Parity=NONE + Rate=115200 + Handshaking=0 + SpecialRate=0 + XonChar=0 + XoffChar=0 + FaxClassPref=AUTO + SpeakerPref=NEVER + SpeakerVolPref=QUIET + ModemInitString=AT + DataInitString=AT + FaxInitString=AT + DialPauseLength=S8= + SpeakerVolContorlLow=L0 + SpeakerVolControlMedium=L1 + SpeakerVolControlHigh=L2 + SpeakerAlwaysOff=M0 + SpeakerOnUntilCarrier=M1 + SpeakerAlwaysOn=M2 + SpeakerOnAfterUntilCarrier=M3 + DialToneWaitModifier=W + CallProgress1=X1 + CallProgress2=X2 + CallProgress3=X3 + CallProgress4=X4 + EchoOff=E0 + VerboseText=V1 + QuietOff=Q0 + QuietOn=Q1 + DialCommandStateModifier=; + OnLine=O + ResetConfiguration=Z + ReturnToFactoryDefs=&F + DCDOnDuringLink=&C1 + DTRHangUp=&D2 + DSRAlwaysOn=&S0 + RTSCTSHandshake=&K3 + XonXoffHandshake=&K4 + EscapeCharacter=+ + EscapeGuardPeriod=S12 + NoDialTone=NO DIAL TONE + Busy=BUSY + NoAnswer=NO ANSWER + Carrier=CARRIER + Connect=CONNECT + CompressionClass5=COMPRESSION:CLASS 5 + CompressionV42bis=COMPRESSION:V.42 bis + CompressionNone=COMPRESSION:NONE + ProtocolLAPD=PROTOCOL:LAPD + ProtocolALT=PROTOCOL:ALT + ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR + ProtocolNone=PROTOCOL:NONE + MessageValidityPeriod=0 + MessageDeliveryReport=FALSE + CommRole=0 + BCAStack=C32Bca + Agent=NULLAGT + FIELD_COUNT=65 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=Loopback_RawIP_1 + IfName=RAWIP + PortName=PKTLOOPBACK::504 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Loopback_SPUD_2 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Loopback_RawIP_3 + IfName=RAWIP + PortName=PKTLOOPBACK::502 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Loopback_SPUD_4 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=WinTunnel_SPUD_5 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Loopback_SPUD_5 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=Loopback_SPUD_6 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=Loopback_SPUD_7 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=Loopback_SPUD_8 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + + +############################################################ +## Location +## +[Location] +ADD_TEMPLATE + Name=Default Location + IntlPrefixCode=+ + NatPrefixCode=0 + NatCode=44 + Mobile=TRUE + UsePulseDial=FALSE + WaitForDialTone=FALSE + PauseAfterDialout=0 + FIELD_COUNT=8 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=Office + IntlPrefixCode=00 + AreaCode=171 + DialOutCode=9, + Mobile=FALSE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Mobile + FIELD_COUNT=1 +END_ADD + + +############################################################ +## OutgoingGPRS +## +[OutgoingGPRS] +ADD_TEMPLATE + Name=Default Outgoing GPRS + APN=Test + PDPType=IPV4 + ReqPrecedence=2 + ReqDelay=4 + ReqReliability=3 + ReqPeakThroughput=3 + ReqMeanThroughput=31 + MinPrecedence=2 + MinDelay=4 + MinReliability=3 + MinPeakThroughput=3 + MinMeanThroughput=31 + DataCompression=FALSE + HeaderCompression=FALSE + GprsUseEdge=FALSE + AnonymousAccess=FALSE + IfNetworks=ip + IfPromptForAuth=FALSE + IfAuthName=RasUser + AuthRetries=1 + IpNetMask=255.255.255.0 + IpGateway=0.0.0.1 + IpAddrFromServer=FALSE + IpDNSAddrFromServer=FALSE + IpNameServer1=194.72.6.51 + IpNameServer2=194.72.6.51 + EnableLCPExtension=FALSE + DisablePlainTextAuth=FALSE + UmtsR99QoSAndOn=1 + FIELD_COUNT=30 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=RawIP_Bounce_1 + IpAddr=192.168.1.1 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=SPUD_Echo_2 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.2 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=RawIP_Bounce_3 + IpAddr=192.168.2.3 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=SPUD_Echo_4 + IfParams=lowernif=RAWIP + IpAddr=192.168.2.4 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=SPUD_Multi_1 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.10 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=SPUD_Multi_2 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.11 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=SPUD_Multi_3 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.12 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=SPUD_Multi_4 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.13 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=GPRS_BAD_QOS + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.2 + IpDNSAddrFromServer=TRUE + UmtsR99QoSAndOn=5 + FIELD_COUNT=6 +END_ADD + + +############################################################ +## DefaultGPRS +## +[DefaultGPRS] +ADD_SECTION +# COMMDB_ID = 1 + Name=Dummy Default GPRS Settings + Usage=1 + APN=Access point name + PDPType=IPV6 + PDPAddress=www.wid.com + Precedence=1 + Delay=1 + Reliability=1 + PeakThroughput=1 + MeanThroughput=1 + MinPrecedence=1 + MinDelay=1 + MinReliability=1 + MinPeakThroughput=1 + MinMeanThroughput=1 + DataCompression=TRUE + HeaderCompression=TRUE + GprsUseEdge=FALSE + AnonymousAccess=TRUE + FIELD_COUNT=19 +END_ADD + + +############################################################ +## APPrioritySelectionPolicyTable +## +[APPrioritySelectionPolicyTable] +ADD_SECTION +# COMMDB_ID = 254 + Id=20000 + Name=APSelPolNetworkDefault + AP1=Link.AccessPointTable.10003 + APCOUNT=1 + FIELD_COUNT=4 +END_ADD + + +############################################################ +## TierTable +## +[TierTable] +ADD_SECTION +# COMMDB_ID = 1 + Id=2048 + Name=Tier1 + TierImplUid=271064536 + TierThreadName=ESock_IP + TierManagerName=NetworkTierManager + DefaultAccessPoint=Link.AccessPointTable.10000 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Id=271064560 + Name=Tier2 + TierImplUid=271064560 + TierThreadName=ESock_IP + TierManagerName=ProtoTierManager + DefaultAccessPoint=Link.AccessPointTable.10004 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Id=271064565 + Name=Tier3 + TierImplUid=271064565 + TierThreadName=ESock_IP + TierManagerName=LinkTierManager + DefaultAccessPoint=Link.AccessPointTable.10000 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Id=536887799 + Name=Tier4 + TierImplUid=536887799 + TierThreadName=ESock_SIP + TierManagerName=SIPTierManager + DefaultAccessPoint=Link.AccessPointTable.10002 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + + +############################################################ +## MCprTable +## +[MCprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=netmcpr + MCprUid=271009095 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotomcpr + MCprUid=271064558 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=pppmcpr + MCprUid=271064556 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=ethmcpr + MCprUid=271064572 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=rawipmcpr + MCprUid=271064576 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=tunnelmcpr + MCprUid=271064578 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qospppmcpr + MCprUid=271064556 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=dummynifmcpr + MCprUid=271064580 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=hungrynifmcpr + MCprUid=271064580 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=pdpmcpr + MCprUid=271065840 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=sipmcpr + MCprUid=536887801 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 13 + Name=panethermcpr + MCprUid=271070626 + FIELD_COUNT=2 +END_ADD + + +############################################################ +## CprTable +## +[CprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=ipcpr + CprUid=270561519 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotocpr + CprUid=271064531 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=agentcpr + CprUid=271064552 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=vanillacpr + CprUid=271065843 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=sipcpr + CprUid=271010872 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=tunnelagentcpr + CprUid=271080968 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=pdpcpr + CprUid=271065826 + FIELD_COUNT=2 +END_ADD + + +############################################################ +## SCprTable +## +[SCprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=qosipscpr + SCprUid=270549768 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotoscpr + SCprUid=271064529 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=agentscpr + SCprUid=271064554 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=pdpscpr + SCprUid=271065824 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=pppscpr + SCprUid=271065852 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=vanillascpr + SCprUid=271065844 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qosscpr + SCprUid=271065811 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=sipscpr + SCprUid=271010839 + FIELD_COUNT=2 +END_ADD + + +############################################################ +## ProtocolTable +## +[ProtocolTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=sapshim + ProtocolUid=270496898 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipshim4 + ProtocolUid=271064118 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=ppp + ProtocolUid=271064143 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=ethernet + ProtocolUid=271064539 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=rawip + ProtocolUid=271064562 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=tunnel + ProtocolUid=271064567 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qosppp + ProtocolUid=271064148 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=dummynif + ProtocolUid=271064123 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=hungrynif + ProtocolUid=271064125 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=panether + ProtocolUid=271070627 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=rawip2 + ProtocolUid=271084280 + FIELD_COUNT=2 +END_ADD + + +############################################################ +## BearerTypeTable +## +[BearerTypeTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=ppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.3 + Cpr=CprTable.3 + SCpr=SCprTable.5 + Protocol=ProtocolTable.3 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ethint + Tier=Link.TierTable.271064565 + MCpr=MCprTable.4 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.4 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=rawip + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=tunnelnif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.6 + Cpr=CprTable.7 + SCpr=SCprTable.3 + Protocol=ProtocolTable.6 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=qosppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.7 + Cpr=CprTable.3 + SCpr=SCprTable.5 + Protocol=ProtocolTable.7 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=dummynif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.8 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.8 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=hungrynif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.9 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.9 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=spud-ppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.3 + SCpr=SCprTable.4 + Protocol=ProtocolTable.3 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=spud-rawip + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.3 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=IPProtoDefaultTemplate + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=NetworkDefaultTemplate + Tier=Link.TierTable.2048 + MCpr=MCprTable.1 + Cpr=CprTable.1 + SCpr=SCprTable.7 + Protocol=ProtocolTable.1 + 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 + + +############################################################ +## AccessPointTable +## +[AccessPointTable] +ADD_SECTION +# COMMDB_ID = 1 + Id=1 + Name=rawipMappedFromIAP1 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.8 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.8 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Id=10003 + Name=IPProto_generated_10003 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=1 + CustomSelectionPolicy=1 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Id=2 + Name=spud-rawipMappedFromIAP2 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Id=10004 + Name=IPProto_generated_10004 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=2 + CustomSelectionPolicy=2 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Id=3 + Name=rawipMappedFromIAP3 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Id=10005 + Name=IPProto_generated_10005 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=3 + CustomSelectionPolicy=3 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Id=4 + Name=spud-rawipMappedFromIAP4 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Id=10006 + Name=IPProto_generated_10006 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=4 + CustomSelectionPolicy=4 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Id=5 + Name=rawipMappedFromIAP5 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Id=10007 + Name=IPProto_generated_10007 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=5 + CustomSelectionPolicy=5 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Id=6 + Name=spud-rawipMappedFromIAP6 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 12 + Id=10008 + Name=IPProto_generated_10008 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=6 + CustomSelectionPolicy=6 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 13 + Id=7 + Name=spud-rawipMappedFromIAP7 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 14 + Id=10009 + Name=IPProto_generated_10009 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=7 + CustomSelectionPolicy=7 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 15 + Id=8 + Name=spud-rawipMappedFromIAP8 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 16 + Id=10010 + Name=IPProto_generated_10010 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=8 + CustomSelectionPolicy=8 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 17 + Id=9 + Name=spud-rawipMappedFromIAP9 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 18 + Id=10011 + Name=IPProto_generated_10011 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=9 + CustomSelectionPolicy=9 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 19 + Id=10 + Name=spud-rawipMappedFromIAP10 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 20 + Id=10012 + Name=IPProto_generated_10012 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=10 + CustomSelectionPolicy=10 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 252 + Id=10002 + Name=SIPDefault + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.536887799 + MCpr=MCprTable.11 + Cpr=CprTable.5 + SCpr=SCprTable.8 + Protocol=ProtocolTable.2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 254 + Id=10000 + Name=NetworkDefault + AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.20000 + Tier=Link.TierTable.2048 + MCpr=MCprTable.1 + Cpr=CprTable.1 + SCpr=SCprTable.7 + Protocol=ProtocolTable.1 + FIELD_COUNT=8 +END_ADD + + +############################################################ +## GlobalSettings +## +[GlobalSettings] +ADD_TEMPLATE + DefaultTier=1 + FIELD_COUNT=1 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + ConnectionAttempts=2 + RedialAttempts=3 + SmsReceiveMode=2 + GPRSAttachMode=1 + AcceptIncomingGprs=1 + GPRSClassCBearer=GSM + ModemForDataAndFax=2 + ModemForPhoneServicesAndSMS=2 + LocationForDataAndFax=2 + LocationForPhoneServicesAndSMS=2 + DefaultNetwork=1 + BearerAvailabilityCheckTSY=mm + FIELD_COUNT=13 +END_ADD + + +############################################################ +## IAP +## +[IAP] +ADD_SECTION +# COMMDB_ID = 1 + Name=Loopback_GRPS_1 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=1 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Loopback_GRPS_2 + IAPServiceType=OutgoingGPRS + IAPService=2 + IAPBearerType=ModemBearer + IAPBearer=2 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Loopback_GRPS_3 + IAPServiceType=OutgoingGPRS + IAPService=3 + IAPBearerType=ModemBearer + IAPBearer=3 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Loopback_GRPS_4 + IAPServiceType=OutgoingGPRS + IAPService=4 + IAPBearerType=ModemBearer + IAPBearer=4 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=Loopback_GRPS_5 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=3 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Loopback_GRPS_6 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=1 + IAPNetwork=3 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=Loopback_GRPS_7 + IAPServiceType=OutgoingGPRS + IAPService=6 + IAPBearerType=ModemBearer + IAPBearer=7 + IAPNetwork=4 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=Loopback_GRPS_8 + IAPServiceType=OutgoingGPRS + IAPService=7 + IAPBearerType=ModemBearer + IAPBearer=8 + IAPNetwork=5 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=Loopback_GRPS_9 + IAPServiceType=OutgoingGPRS + IAPService=8 + IAPBearerType=ModemBearer + IAPBearer=9 + IAPNetwork=6 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=IAP_GRPS_BAD_QOS + IAPServiceType=OutgoingGPRS + IAPService=9 + IAPBearerType=ModemBearer + IAPBearer=2 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + + +############################################################ +## ConnectionPreferences +## +[ConnectionPreferences] +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + Ranking=1 + Direction=OUTGOING + BearerSet=PSD + DialogPref=DONOTPROMPT + IAP=2 + FIELD_COUNT=6 +END_ADD + + +############################################################ +## UmtsR99QoSAndOn +## +[UmtsR99QoSAndOn] +ADD_SECTION +# COMMDB_ID = 1 + Name=PRIMARY1 + ReqTrafficClass=1 + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=SECONDARY1 + ReqTrafficClass=4 + MinTrafficClass=4 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=8 + MinDeliverErroneousSDU=8 + ReqMaxSDUSize=768 + MinAcceptableMaxSDUSize=512 + ReqMaxUplinkRate=1024 + ReqMinUplinkRate=1024 + ReqMaxDownlinkRate=1024 + ReqMinDownlinkRate=1024 + ReqBER=0 + MaxBER=0 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=250 + MaxTransferDelay=250 + ReqGuaranteedUplinkRate=1024 + MinGuaranteedUplinkRat=1024 + ReqGuaranteedDownlinkRate=1024 + MinGuaranteedDownlinkRate=1024 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=PRIMARY2 + ReqTrafficClass=1 + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=SECONDARY2 + ReqTrafficClass=4 + MinTrafficClass=4 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=8 + MinDeliverErroneousSDU=8 + ReqMaxSDUSize=768 + MinAcceptableMaxSDUSize=512 + ReqMaxUplinkRate=1024 + ReqMinUplinkRate=1024 + ReqMaxDownlinkRate=1024 + ReqMinDownlinkRate=1024 + ReqBER=0 + MaxBER=0 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=250 + MaxTransferDelay=250 + ReqGuaranteedUplinkRate=1024 + MinGuaranteedUplinkRat=1024 + ReqGuaranteedDownlinkRate=1024 + MinGuaranteedDownlinkRate=1024 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=BAD_QOS + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=27 +END_ADD + + +############################################################ +## PolicySelectorTable +## +[PolicySelectorTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + PolicyId=1 + SrcAddress=0.0.0.0 + SrcMask=255.255.255.255 + DstAddress=192.168.1.1 + DstMask=255.255.255.255 + SrcPort=0 + DstPort=3461 + SrcPortMax=1031 + DstPortMax=3461 + ProtocolId=17 + IAPid=2 + Priority=1 + FIELD_COUNT=13 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=DefaultRecordName-2 + PolicyId=2 + SrcPort=0 + SrcPortMax=0 + ProtocolId=1 + IAPid=2 + Priority=1 + FIELD_COUNT=7 +END_ADD + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/data/dummy_static_with_mbufgobbler.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/data/dummy_static_with_mbufgobbler.cfg Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,1659 @@ +############################################################ +## AUTO-GENERATED CONFIGURATION FILE +## CommsDat Database Dump Utility +## 1.1 +############################################################ + +############################################################ +## Network +## +[Network] +ADD_SECTION +# COMMDB_ID = 1 + Name=Intranet + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Intranet2 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Intranet3 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Intranet4 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=Intranet5 + FIELD_COUNT=1 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Intranet6 + FIELD_COUNT=1 +END_ADD + + +############################################################ +## ModemBearer +## +[ModemBearer] +ADD_TEMPLATE + Name=Default Loopback Modem + TSYName=SIM + CSYName=PKTLOOPBACK + LastSocketActivityTimeout=180 + LastSessionClosedTimeout=4 + LastSocketClosedTimeout=6 + DataBits=8 + StopBits=1 + Parity=NONE + Rate=115200 + Handshaking=0 + SpecialRate=0 + XonChar=0 + XoffChar=0 + FaxClassPref=AUTO + SpeakerPref=NEVER + SpeakerVolPref=QUIET + ModemInitString=AT + DataInitString=AT + FaxInitString=AT + DialPauseLength=S8= + SpeakerVolContorlLow=L0 + SpeakerVolControlMedium=L1 + SpeakerVolControlHigh=L2 + SpeakerAlwaysOff=M0 + SpeakerOnUntilCarrier=M1 + SpeakerAlwaysOn=M2 + SpeakerOnAfterUntilCarrier=M3 + DialToneWaitModifier=W + CallProgress1=X1 + CallProgress2=X2 + CallProgress3=X3 + CallProgress4=X4 + EchoOff=E0 + VerboseText=V1 + QuietOff=Q0 + QuietOn=Q1 + DialCommandStateModifier=; + OnLine=O + ResetConfiguration=Z + ReturnToFactoryDefs=&F + DCDOnDuringLink=&C1 + DTRHangUp=&D2 + DSRAlwaysOn=&S0 + RTSCTSHandshake=&K3 + XonXoffHandshake=&K4 + EscapeCharacter=+ + EscapeGuardPeriod=S12 + NoDialTone=NO DIAL TONE + Busy=BUSY + NoAnswer=NO ANSWER + Carrier=CARRIER + Connect=CONNECT + CompressionClass5=COMPRESSION:CLASS 5 + CompressionV42bis=COMPRESSION:V.42 bis + CompressionNone=COMPRESSION:NONE + ProtocolLAPD=PROTOCOL:LAPD + ProtocolALT=PROTOCOL:ALT + ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR + ProtocolNone=PROTOCOL:NONE + MessageValidityPeriod=0 + MessageDeliveryReport=FALSE + CommRole=0 + BCAStack=C32Bca + Agent=NULLAGT + FIELD_COUNT=65 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=Loopback_RawIP_1 + IfName=RAWIP + PortName=PKTLOOPBACK::504 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Loopback_SPUD_2 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Loopback_RawIP_3 + IfName=RAWIP + PortName=PKTLOOPBACK::502 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Loopback_SPUD_4 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=WinTunnel_SPUD_5 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Loopback_SPUD_5 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=Loopback_SPUD_6 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=Loopback_SPUD_7 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=Loopback_SPUD_8 + IfName=SPUD + FIELD_COUNT=2 +END_ADD + + +############################################################ +## Location +## +[Location] +ADD_TEMPLATE + Name=Default Location + IntlPrefixCode=+ + NatPrefixCode=0 + NatCode=44 + Mobile=TRUE + UsePulseDial=FALSE + WaitForDialTone=FALSE + PauseAfterDialout=0 + FIELD_COUNT=8 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=Office + IntlPrefixCode=00 + AreaCode=171 + DialOutCode=9, + Mobile=FALSE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Mobile + FIELD_COUNT=1 +END_ADD + + +############################################################ +## OutgoingGPRS +## +[OutgoingGPRS] +ADD_TEMPLATE + Name=Default Outgoing GPRS + APN=Test + PDPType=IPV4 + ReqPrecedence=2 + ReqDelay=4 + ReqReliability=3 + ReqPeakThroughput=3 + ReqMeanThroughput=31 + MinPrecedence=2 + MinDelay=4 + MinReliability=3 + MinPeakThroughput=3 + MinMeanThroughput=31 + DataCompression=FALSE + HeaderCompression=FALSE + GprsUseEdge=FALSE + AnonymousAccess=FALSE + IfNetworks=ip + IfPromptForAuth=FALSE + IfAuthName=RasUser + AuthRetries=1 + IpNetMask=255.255.255.0 + IpGateway=0.0.0.1 + IpAddrFromServer=FALSE + IpDNSAddrFromServer=FALSE + IpNameServer1=194.72.6.51 + IpNameServer2=194.72.6.51 + EnableLCPExtension=FALSE + DisablePlainTextAuth=FALSE + UmtsR99QoSAndOn=1 + FIELD_COUNT=30 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=RawIP_Bounce_1 + IpAddr=192.168.1.1 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=SPUD_Echo_2 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.2 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=RawIP_Bounce_3 + IpAddr=192.168.2.3 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=SPUD_Echo_4 + IfParams=lowernif=RAWIP + IpAddr=192.168.2.4 + FIELD_COUNT=3 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=SPUD_Multi_1 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.10 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=SPUD_Multi_2 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.11 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=SPUD_Multi_3 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.12 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=SPUD_Multi_4 + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.13 + IpDNSAddrFromServer=TRUE + FIELD_COUNT=5 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=GPRS_BAD_QOS + IfParams=lowernif=RAWIP + IpAddrFromServer=TRUE + IpAddr=192.168.1.2 + IpDNSAddrFromServer=TRUE + UmtsR99QoSAndOn=5 + FIELD_COUNT=6 +END_ADD + + +############################################################ +## DefaultGPRS +## +[DefaultGPRS] +ADD_SECTION +# COMMDB_ID = 1 + Name=Dummy Default GPRS Settings + Usage=1 + APN=Access point name + PDPType=IPV6 + PDPAddress=www.wid.com + Precedence=1 + Delay=1 + Reliability=1 + PeakThroughput=1 + MeanThroughput=1 + MinPrecedence=1 + MinDelay=1 + MinReliability=1 + MinPeakThroughput=1 + MinMeanThroughput=1 + DataCompression=TRUE + HeaderCompression=TRUE + GprsUseEdge=FALSE + AnonymousAccess=TRUE + FIELD_COUNT=19 +END_ADD + + +############################################################ +## APPrioritySelectionPolicyTable +## +[APPrioritySelectionPolicyTable] +ADD_SECTION +# COMMDB_ID = 254 + Id=20000 + Name=APSelPolNetworkDefault + AP1=Link.AccessPointTable.10003 + APCOUNT=1 + FIELD_COUNT=4 +END_ADD + + +############################################################ +## TierTable +## +[TierTable] +ADD_SECTION +# COMMDB_ID = 1 + Id=2048 + Name=Tier1 + TierImplUid=271064536 + TierThreadName=ESock_IP + TierManagerName=NetworkTierManager + DefaultAccessPoint=Link.AccessPointTable.10000 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Id=271064560 + Name=Tier2 + TierImplUid=271064560 + TierThreadName=ESock_IP + TierManagerName=ProtoTierManager + DefaultAccessPoint=Link.AccessPointTable.10004 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Id=271064565 + Name=Tier3 + TierImplUid=271064565 + TierThreadName=ESock_IP + TierManagerName=LinkTierManager + DefaultAccessPoint=Link.AccessPointTable.10000 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Id=536887799 + Name=Tier4 + TierImplUid=536887799 + TierThreadName=ESock_SIP + TierManagerName=SIPTierManager + DefaultAccessPoint=Link.AccessPointTable.10002 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + +## mbufgobbler layer: this is where we refer to our +## new Tier by its factory implementation UId +ADD_SECTION +# COMMDB_ID = 7 + Id=0x10272F98 + Name=mbufgobblertm + TierImplUid=0x10272F98 + TierThreadName=ESock_IP + TierManagerName=MbufGobblerTierManager +###### Set the default access point to F0 = 240 = MbufGobbler layer AP + DefaultAccessPoint=0x0E00F000 + PromptUser=0 + FIELD_COUNT=7 +END_ADD + + +############################################################ +## MCprTable +## +[MCprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=netmcpr + MCprUid=271009095 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotomcpr + MCprUid=271064558 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=pppmcpr + MCprUid=271064556 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=ethmcpr + MCprUid=271064572 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=rawipmcpr + MCprUid=271064576 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=tunnelmcpr + MCprUid=271064578 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qospppmcpr + MCprUid=271064556 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=dummynifmcpr + MCprUid=271064580 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=hungrynifmcpr + MCprUid=271064580 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=pdpmcpr + MCprUid=271065840 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=sipmcpr + MCprUid=536887801 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 13 + Name=panethermcpr + MCprUid=271070626 + FIELD_COUNT=2 +END_ADD + +## mbufgobbler layer: this is where we refer to our +## new MCPr by its factory implementation UId +ADD_SECTION +# COMMDB_ID = 14 + Name=mbufgobblermcpr + MCprUid=0x10272F99 + FIELD_COUNT=2 +END_ADD + +############################################################ +## CprTable +## +[CprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=ipcpr + CprUid=270561519 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotocpr + CprUid=271064531 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=agentcpr + CprUid=271064552 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=vanillacpr + CprUid=271065843 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=sipcpr + CprUid=271010872 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=tunnelagentcpr + CprUid=271080968 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=pdpcpr + CprUid=271065826 + FIELD_COUNT=2 +END_ADD + +## mbufgobbler layer: this is where we refer to our +## new CPr by its factory implementation UId +ADD_SECTION +# COMMDB_ID = 11 + Name=mbufgobblercpr + CprUid=0x10272F9A + FIELD_COUNT=2 +END_ADD + +############################################################ +## SCprTable +## +[SCprTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=qosipscpr + SCprUid=270549768 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipprotoscpr + SCprUid=271064529 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=agentscpr + SCprUid=271064554 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=pdpscpr + SCprUid=271065824 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=pppscpr + SCprUid=271065852 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=vanillascpr + SCprUid=271065844 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qosscpr + SCprUid=271065811 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=sipscpr + SCprUid=271010839 + FIELD_COUNT=2 +END_ADD + +## mbufgobbler layer: this is where we refer to our +## new SCPr by its factory implementation UId +ADD_SECTION +# COMMDB_ID = 11 + Name=mbufgobblerscpr + SCprUid=0x10272F9B + FIELD_COUNT=2 +END_ADD + +############################################################ +## ProtocolTable +## +[ProtocolTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=sapshim + ProtocolUid=270496898 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ipshim4 + ProtocolUid=271064118 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=ppp + ProtocolUid=271064143 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=ethernet + ProtocolUid=271064539 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=rawip + ProtocolUid=271064562 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=tunnel + ProtocolUid=271064567 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=qosppp + ProtocolUid=271064148 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=dummynif + ProtocolUid=271064123 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=hungrynif + ProtocolUid=271064125 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=panether + ProtocolUid=271070627 + FIELD_COUNT=2 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=rawip2 + ProtocolUid=271084280 + FIELD_COUNT=2 +END_ADD + +## mbufgobbler layer: this is where we refer to our +## new Protocol by its factory implementation UId +ADD_SECTION +# COMMDB_ID = 12 + Name=mbufgobbler + ProtocolUid=0x10272F9C + FIELD_COUNT=2 +END_ADD + + +############################################################ +## BearerTypeTable +## +[BearerTypeTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=ppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.3 + Cpr=CprTable.3 + SCpr=SCprTable.5 + Protocol=ProtocolTable.3 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=ethint + Tier=Link.TierTable.271064565 + MCpr=MCprTable.4 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.4 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=rawip + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=tunnelnif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.6 + Cpr=CprTable.7 + SCpr=SCprTable.3 + Protocol=ProtocolTable.6 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=qosppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.7 + Cpr=CprTable.3 + SCpr=SCprTable.5 + Protocol=ProtocolTable.7 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=dummynif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.8 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.8 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=hungrynif + Tier=Link.TierTable.271064565 + MCpr=MCprTable.9 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.9 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=spud-ppp + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.3 + SCpr=SCprTable.4 + Protocol=ProtocolTable.3 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=spud-rawip + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.3 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=IPProtoDefaultTemplate + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + FIELD_COUNT=6 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Name=NetworkDefaultTemplate + Tier=Link.TierTable.2048 + MCpr=MCprTable.1 + Cpr=CprTable.1 + SCpr=SCprTable.7 + Protocol=ProtocolTable.1 + 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 + + +############################################################ +## AccessPointTable +## +[AccessPointTable] +ADD_SECTION +# COMMDB_ID = 1 + Id=1 + Name=rawipMappedFromIAP1 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.8 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.8 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +## mbufgobbler layer: The access point record for the new layer. +## Uses mbufgobbler tier, MCPr, CPr, SCPr and protocol +ADD_SECTION +# COMMDB_ID = 240 + Id=20 + Name=MbufGobblerLayer +### Use record 7 in Tier table (MbufGobblerTierMgr, as defined by the second byte 07) + Tier=0x11800700 + MCpr=MCprTable.14 + Cpr=CprTable.11 + SCpr=SCprTable.11 + Protocol=ProtocolTable.12 + CprConfig=1 + AppSID=0 + CustomSelectionPolicy=1 + FIELD_COUNT=10 +END_ADD +ADD_SECTION +# COMMDB_ID = 2 + Id=10003 + Name=IPProto_generated_10003 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=1 + CustomSelectionPolicy=20 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Id=2 + Name=spud-rawipMappedFromIAP2 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Id=10004 + Name=IPProto_generated_10004 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=2 + CustomSelectionPolicy=2 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Id=3 + Name=rawipMappedFromIAP3 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Id=10005 + Name=IPProto_generated_10005 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=3 + CustomSelectionPolicy=3 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Id=4 + Name=spud-rawipMappedFromIAP4 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Id=10006 + Name=IPProto_generated_10006 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=4 + CustomSelectionPolicy=4 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Id=5 + Name=rawipMappedFromIAP5 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.5 + Cpr=CprTable.3 + SCpr=SCprTable.3 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Id=10007 + Name=IPProto_generated_10007 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=5 + CustomSelectionPolicy=5 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 11 + Id=6 + Name=spud-rawipMappedFromIAP6 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 12 + Id=10008 + Name=IPProto_generated_10008 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=6 + CustomSelectionPolicy=6 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 13 + Id=7 + Name=spud-rawipMappedFromIAP7 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 14 + Id=10009 + Name=IPProto_generated_10009 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=7 + CustomSelectionPolicy=7 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 15 + Id=8 + Name=spud-rawipMappedFromIAP8 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 16 + Id=10010 + Name=IPProto_generated_10010 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=8 + CustomSelectionPolicy=8 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 17 + Id=9 + Name=spud-rawipMappedFromIAP9 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 18 + Id=10011 + Name=IPProto_generated_10011 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=9 + CustomSelectionPolicy=9 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 19 + Id=10 + Name=spud-rawipMappedFromIAP10 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064565 + MCpr=MCprTable.10 + Cpr=CprTable.8 + SCpr=SCprTable.4 + Protocol=ProtocolTable.5 + CprConfig=0 + AppSID=0 + Priority=4294967295 + FIELD_COUNT=11 +END_ADD + +ADD_SECTION +# COMMDB_ID = 20 + Id=10012 + Name=IPProto_generated_10012 + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.271064560 + MCpr=MCprTable.2 + Cpr=CprTable.2 + SCpr=SCprTable.2 + Protocol=ProtocolTable.2 + CprConfig=10 + CustomSelectionPolicy=10 + FIELD_COUNT=10 +END_ADD + +ADD_SECTION +# COMMDB_ID = 252 + Id=10002 + Name=SIPDefault + AccessPointSelectionPolicy=0 + Tier=Link.TierTable.536887799 + MCpr=MCprTable.11 + Cpr=CprTable.5 + SCpr=SCprTable.8 + Protocol=ProtocolTable.2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 254 + Id=10000 + Name=NetworkDefault + AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.20000 + Tier=Link.TierTable.2048 + MCpr=MCprTable.1 + Cpr=CprTable.1 + SCpr=SCprTable.7 + Protocol=ProtocolTable.1 + FIELD_COUNT=8 +END_ADD + + +############################################################ +## GlobalSettings +## +[GlobalSettings] +ADD_TEMPLATE + DefaultTier=1 + FIELD_COUNT=1 +END_TEMPLATE + +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + ConnectionAttempts=2 + RedialAttempts=3 + SmsReceiveMode=2 + GPRSAttachMode=1 + AcceptIncomingGprs=1 + GPRSClassCBearer=GSM + ModemForDataAndFax=2 + ModemForPhoneServicesAndSMS=2 + LocationForDataAndFax=2 + LocationForPhoneServicesAndSMS=2 + DefaultNetwork=1 + BearerAvailabilityCheckTSY=mm + FIELD_COUNT=13 +END_ADD + + +############################################################ +## IAP +## +[IAP] +ADD_SECTION +# COMMDB_ID = 1 + Name=Loopback_GRPS_1 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=1 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=Loopback_GRPS_2 + IAPServiceType=OutgoingGPRS + IAPService=2 + IAPBearerType=ModemBearer + IAPBearer=2 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=Loopback_GRPS_3 + IAPServiceType=OutgoingGPRS + IAPService=3 + IAPBearerType=ModemBearer + IAPBearer=3 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=Loopback_GRPS_4 + IAPServiceType=OutgoingGPRS + IAPService=4 + IAPBearerType=ModemBearer + IAPBearer=4 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=Loopback_GRPS_5 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=3 + IAPNetwork=2 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 6 + Name=Loopback_GRPS_6 + IAPServiceType=OutgoingGPRS + IAPService=1 + IAPBearerType=ModemBearer + IAPBearer=1 + IAPNetwork=3 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 7 + Name=Loopback_GRPS_7 + IAPServiceType=OutgoingGPRS + IAPService=6 + IAPBearerType=ModemBearer + IAPBearer=7 + IAPNetwork=4 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 8 + Name=Loopback_GRPS_8 + IAPServiceType=OutgoingGPRS + IAPService=7 + IAPBearerType=ModemBearer + IAPBearer=8 + IAPNetwork=5 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 9 + Name=Loopback_GRPS_9 + IAPServiceType=OutgoingGPRS + IAPService=8 + IAPBearerType=ModemBearer + IAPBearer=9 + IAPNetwork=6 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + +ADD_SECTION +# COMMDB_ID = 10 + Name=IAP_GRPS_BAD_QOS + IAPServiceType=OutgoingGPRS + IAPService=9 + IAPBearerType=ModemBearer + IAPBearer=2 + IAPNetwork=1 + IAPNetworkWeighting=0 + Location=2 + FIELD_COUNT=8 +END_ADD + + +############################################################ +## ConnectionPreferences +## +[ConnectionPreferences] +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + Ranking=1 + Direction=OUTGOING + BearerSet=PSD + DialogPref=DONOTPROMPT + IAP=2 + FIELD_COUNT=6 +END_ADD + + +############################################################ +## UmtsR99QoSAndOn +## +[UmtsR99QoSAndOn] +ADD_SECTION +# COMMDB_ID = 1 + Name=PRIMARY1 + ReqTrafficClass=1 + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=SECONDARY1 + ReqTrafficClass=4 + MinTrafficClass=4 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=8 + MinDeliverErroneousSDU=8 + ReqMaxSDUSize=768 + MinAcceptableMaxSDUSize=512 + ReqMaxUplinkRate=1024 + ReqMinUplinkRate=1024 + ReqMaxDownlinkRate=1024 + ReqMinDownlinkRate=1024 + ReqBER=0 + MaxBER=0 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=250 + MaxTransferDelay=250 + ReqGuaranteedUplinkRate=1024 + MinGuaranteedUplinkRat=1024 + ReqGuaranteedDownlinkRate=1024 + MinGuaranteedDownlinkRate=1024 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 3 + Name=PRIMARY2 + ReqTrafficClass=1 + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 4 + Name=SECONDARY2 + ReqTrafficClass=4 + MinTrafficClass=4 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=8 + MinDeliverErroneousSDU=8 + ReqMaxSDUSize=768 + MinAcceptableMaxSDUSize=512 + ReqMaxUplinkRate=1024 + ReqMinUplinkRate=1024 + ReqMaxDownlinkRate=1024 + ReqMinDownlinkRate=1024 + ReqBER=0 + MaxBER=0 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=250 + MaxTransferDelay=250 + ReqGuaranteedUplinkRate=1024 + MinGuaranteedUplinkRat=1024 + ReqGuaranteedDownlinkRate=1024 + MinGuaranteedDownlinkRate=1024 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=28 +END_ADD + +ADD_SECTION +# COMMDB_ID = 5 + Name=BAD_QOS + MinTrafficClass=1 + ReqDeliveryOrder=1 + MinDeliveryOrder=1 + ReqDeliverErroneousSDU=1 + MinDeliverErroneousSDU=1 + ReqMaxSDUSize=0 + MinAcceptableMaxSDUSize=0 + ReqMaxUplinkRate=0 + ReqMinUplinkRate=0 + ReqMaxDownlinkRate=0 + ReqMinDownlinkRate=0 + ReqBER=1 + MaxBER=1 + ReqSDUErrorRatio=1 + MaxSDUErrorRatio=1 + ReqTrafficHandlingPriority=1 + MinTrafficHandlingPriority=1 + ReqTransferDelay=0 + MaxTransferDelay=0 + ReqGuaranteedUplinkRate=0 + MinGuaranteedUplinkRat=0 + ReqGuaranteedDownlinkRate=0 + MinGuaranteedDownlinkRate=0 + SignallingIndication=FALSE + ImCnSignallingIndication=FALSE + SourceStatisticsDescriptor=0 + FIELD_COUNT=27 +END_ADD + + +############################################################ +## PolicySelectorTable +## +[PolicySelectorTable] +ADD_SECTION +# COMMDB_ID = 1 + Name=DefaultRecordName-1 + PolicyId=1 + SrcAddress=0.0.0.0 + SrcMask=255.255.255.255 + DstAddress=192.168.1.1 + DstMask=255.255.255.255 + SrcPort=0 + DstPort=3461 + SrcPortMax=1031 + DstPortMax=3461 + ProtocolId=17 + IAPid=2 + Priority=1 + FIELD_COUNT=13 +END_ADD + +ADD_SECTION +# COMMDB_ID = 2 + Name=DefaultRecordName-2 + PolicyId=2 + SrcPort=0 + SrcPortMax=0 + ProtocolId=1 + IAPid=2 + Priority=1 + FIELD_COUNT=7 +END_ADD + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/group/bld.inf Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,36 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc + +PRJ_PLATFORMS + +DEFAULT + +prj_testmmpfiles +mbufgobblerproviders.mmp + +prj_testexports +../inc/mbufgobbleruids.h /epoc32/include/comms-infras/mbufgobbleruids.h +../inc/mbufgobblerpubsub.h /epoc32/include/comms-infras/mbufgobblerpubsub.h + +../group/mbufgobblerproviders.iby /epoc32/rom/include/mbufgobblerproviders.iby + +#include "../te_mbufgobbler/group/bld.inf" + + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/group/mbufgobblerproviders.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/group/mbufgobblerproviders.iby Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,26 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __MBUFGOBBLERPROVIDERS_IBY__ +#define __MBUFGOBBLERPROVIDERS_IBY__ + +#ifdef _DEBUG +ECOM_PLUGIN_UDEB(mbufgobblerproviders.dll,mbufgobblerproviders.rsc) +#else +ECOM_PLUGIN(mbufgobblerproviders.dll,mbufgobblerproviders.rsc) +#endif + +#endif + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/group/mbufgobblerproviders.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/group/mbufgobblerproviders.mmp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,100 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +TARGET mbufgobblerproviders.dll +TARGETTYPE PLUGIN +UID 0x10009D8D 0x10272F97 + +MACRO SYMBIAN_COMMSFW_MBUF_GOBBLER + + +#include //for some reason another log mmh has been defined. + //This must be included to use the __CFLOG_* (e.g. __CFLOG_VAR) macros. +#include "comms-infras/commsdebugutility.mmh" + +SOURCEPATH ../src + + +SOURCE ecom_impl.cpp + +// Tier Manager source +SOURCE mbufgobblertiermanager.cpp +SOURCE mbufgobblertiermanagerfactory.cpp +SOURCE mbufgobblertiermanageractivities.cpp +SOURCE mbufgobblertiermanagerstates.cpp +SOURCE mbufgobblerproviderselector.cpp + +// Meta Connection Provider source +SOURCE mbufgobblermetaconnproviderfactory.cpp +SOURCE mbufgobblermetaconnprovider.cpp +SOURCE mbufgobblermetaconnprovideractivities.cpp +SOURCE mbufgobblermetaconnproviderstates.cpp + +// Connection Provider source +SOURCE mbufgobblerconnproviderfactory.cpp +SOURCE mbufgobblerconnprovidermessages.cpp +SOURCE mbufgobblerconnprovider.cpp +SOURCE mbufgobblerconnprovideractivities.cpp +SOURCE mbufgobblerconnproviderstates.cpp + +// Sub Connection Provider source +SOURCE mbufgobblersubconnproviderfactory.cpp +SOURCE mbufgobblersubconnprovider.cpp +SOURCE mbufgobblersubconnprovideractivities.cpp +SOURCE mbufgobblersubconnproviderstates.cpp + +// Flow source +SOURCE mbufgobblerflowfactory.cpp +SOURCE mbufgobblerflow.cpp + +// Other source +SOURCE mbufgobblerhelper.cpp + + +USERINCLUDE ../inc + + +SYSTEMINCLUDE /epoc32/include +SYSTEMINCLUDE /epoc32/include/comms-infras +SYSTEMINCLUDE /epoc32/include/networking +SYSTEMINCLUDE /epoc32/include/platform +SYSTEMINCLUDE /epoc32/include/platform/comms-infras + +START RESOURCE 10272f97.rss + TARGET mbufgobblerproviders.rsc +END + +LIBRARY euser.lib +LIBRARY esock.lib +LIBRARY netmeta.lib +LIBRARY netinterfaces.lib +LIBRARY esocksvr.lib +LIBRARY nodemessages.lib +LIBRARY coreproviders.lib +LIBRARY meshmachine.lib +LIBRARY commsdat.lib +LIBRARY simpleselectorbase.lib + +LIBRARY insock.lib +LIBRARY mbufmgr.lib + + +CAPABILITY CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData +VENDORID 0x70000001 + +UNPAGED + +SMPSAFE + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/how to clone this component.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/how to clone this component.txt Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,112 @@ + +##################################### +# # +# Update Content And Filenames tool # +# # +##################################### + +The Update Content And Filenames tool allows you to clone this component to a new implementation. +It does the boring housekeeping to rename the source, change target DLL name, +update the UIDs etc. etc. +It does this by performing recursive search and replace on file names and content. + + +How to clone this component to a new implementation: + +- Ensure this component builds as is: + cd group + sbs -c winscw_udeb + sbs -c winscw_udeb.test + If you're feeling conscientious you could test it too :-) + +- Nominate an appropriate name for the new component. + e.g. Test123 + If there's any chance the new component will end up + in a deliverable, please choose the name more carefully + than I just did + +- Copy this folder (the one containing this README file), + naming the new folder as something appropriate, + relating to the component name you have chosen + (and keep it lower case to keep linux builds happy) + e.g. "Copy Of mbufgobblerlayer" => "test123layer" + +- Ensure the new folder and all its contents are writable. + (if you got mbufgobblerlayer from a version control system it might be read-only) + +Then, in the *new* folder: + +- Modify the file UpdateContentsAndFilenames.ini accordingly, + to reflect the values required by your new component. + Obviously you'll need to obtain new UIds rather than just making them up :-) + (Ask your architect where new UIds should come from these days) + The "Search" fields specify the current values which will be replaced. + The "Replace" fields must be changed from CHANGEME to the desired values. + e.g. [Name].Replace=CHANGEME => [Name].Replace=Test123 + e.g. [DllUid].Replace=CHANGEME => [DllUid].Replace=01234567 + etc.. + +- Ensure Python 2.6.2 or greater is installed. This should come down automatically + with SymSEE or whatever you used to put together your development environment. + +- Open a command window in the *new* folder, and run: + updatecontentandfilenames.py + +- Before you make further modifications, ensure the script updated + everything correctly: + cd group + sbs -c winscw_udeb + sbs -c winscw_udeb.test + (and run any regression tests over the new copy of the component) + + + +Notes and caveats: + +1. +Remember you're taking a copy, so if you're cloning something feature-rich, +please think carefully about whether either.. + - you really do want 2 copies of the same feature code knocking about, which is + totally ok if you're just trying something out and/or you want to isolate the new + component from changes in the cloned component +.. or .. + - you should be considering cloning a more basic implementation, + then applying techniques such as inheritance to reuse the existing features + + +So it's more suited for cloning basic ("feature-impoverished?") implementations as a +starting point for developing more functional implementations. + +e.g. mbufgobbler Layer -> some new layer + + +2. +Correct functioning of the script of course assumes some reasonably pragmatic +correlation between class names, folder names, dll names etc. + +It's easy for you to add extra search and replace pairs as needed to address +more complicated renaming tasks. Just add more sections to the +UpdateContentsAndFilenames.ini file. The [Header Names] are not used for anything, they're +just for your reference and should probably be unique across the file. +The really important bit is the Search/Replace pairs. + + +3. +Each search/replace pair is applied in turn. So don't expect to be able to do anything +sneaky like swapping strings in a single run. + + +4. +Reusing this script elsewhere should be easy, +because there is no special significance to the .ini file section names- +they are just there to assist the user in populating the fields. +i.e. .ini file sections purely exist to group together each Search/Replace pair. + +Just copy the updatecontentandfilenames.* files into the root folder of a new +copy of the component that you want to clone, edit the ini file, and run the python script. + + +5. +Have fun.. + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobbler_panic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobbler_panic.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,40 @@ +// Copyright (c) 2010 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: +// Panic codes for mbufgobbler layer +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include + +#define ASSERT_DEBUG(exp, pcode) __ASSERT_DEBUG(exp, User::Panic(KMbufGobblerLayerPanic, pcode)) + +_LIT(KMbufGobblerLayerPanic, "MbufGobblerLayer"); + +enum TMbufGobblerLayerPanic + { + EExpectedAccessPointAwareSystem = 1, //copied from CMbufGobblerProviderSelector not sure what this means yet. + EUnexpectedTSelectionPrefsType, + EInvalidNullPtr + }; diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovider.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,84 @@ +// Copyright (c) 2010 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: +// Connection Provider +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef CMBUFGOBBLERCONNPROVIDER_H +#define CMBUFGOBBLERCONNPROVIDER_H + +// INCLUDES +#include +#include +#include +#include "mbufgobblertestflags.h" + + + + +// CLASS DECLARATION + +/** + * CMbufGobblerConnProvider + * + */ + +//comment on diffeent super class options e.g. CMobilityConnectionProvider +class ESock::CConnectionProviderFactoryBase; +class CMbufGobblerConnProvider : public CCoreConnectionProvider + { +public: + // Constructors and destructor + static CMbufGobblerConnProvider* NewL(ESock::CConnectionProviderFactoryBase& aFactory); + + /** + * Destructor. + */ + ~CMbufGobblerConnProvider(); + + +protected: //from CCoreConnectionProvider + void ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage); + +private: + + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerConnProvider(ESock::CConnectionProviderFactoryBase& aFactory); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + +private: + TInt iClientCount; //holds count of clients that node is joined with + + MBUFGOBBLER_TEST_DATA + }; + +#endif // CMBUFGOBBLERCONNPROVIDER_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovideractivities.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovideractivities.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,61 @@ +// Copyright (c) 2010 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: +// Connection Provider Mesh Activities +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef CMBUFGOBBLERCONNPROVIDERACTIVITIES_H +#define CMBUFGOBBLERCONNPROVIDERACTIVITIES_H + +// INCLUDES +#include +#include + +#include +#include + +// CLASS DECLARATION +namespace MbufGobblerCprActivities +{ + + +enum + { + /* + * Add new actviity id's here. I think they must be offset from ECFActivityCustom. + */ + + /* + * This is just an example activity + */ + EMbufGobblerCprSomeActivity = ESock::ECFActivityCustom + 1, + }; + +DECLARE_ACTIVITY_MAP(MbufGobblerCprActivitiesMap) +} + + +#endif // CMBUFGOBBLERCONNPROVIDERACTIVITIES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnproviderfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnproviderfactory.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,79 @@ +// Copyright (c) 2010 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: +// Connection Provider Factory +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef CMBUFGOBBLERCONNPROVIDERFACTORY_H +#define CMBUFGOBBLERCONNPROVIDERFACTORY_H + +// INCLUDES +#include +#include +#include +#include +#include + +#include "mbufgobbleruids.h" + + + +// CLASS DECLARATION + +/** + * CMbufGobblerConnProviderFactory + * + */ +class CMbufGobblerConnProviderFactory : public ESock::CConnectionProviderFactoryBase + { +public: + // Constructors and destructor + enum { iUid = EMbufGobblerCPrUid }; + static CMbufGobblerConnProviderFactory* NewL(TAny* aParentContainer); + /** + * Destructor. + */ + ~CMbufGobblerConnProviderFactory(); + +protected: //from CConnectionProviderFactoryBase + virtual ESock::ACommsFactoryNodeId* DoCreateObjectL(ESock::TFactoryQueryBase& /* aQuery */); + virtual void CMbufGobblerConnProviderFactory::EnumerateConnectionsL(RPointerArray& aConnectionInfoPtrArray); + + +private: //class not intended for derivation + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerConnProviderFactory(TUid aFactoryId, ESock::CConnectionFactoryContainer& aParentContainer); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + + }; + +#endif // CMBUFGOBBLERCONNPROVIDERFACTORY_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovidermessages.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnprovidermessages.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,40 @@ +// Copyright (c) 2010 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: +// Connection Provider Messages +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef CMBUFGOBBLERCONNPROVIDERMESSAGES_H +#define CMBUFGOBBLERCONNPROVIDERMESSAGES_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + + +#endif // CMBUFGOBBLERCONNPROVIDERMESSAGES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnproviderstates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerconnproviderstates.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,39 @@ +// Copyright (c) 2010 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: +// Connection Provider Mesh States +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef CMBUFGOBBLERCONNPROVIDERSTATES_H +#define CMBUFGOBBLERCONNPROVIDERSTATES_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +#endif // CMBUFGOBBLERCONNPROVIDERSTATES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerflow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerflow.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,151 @@ +// Copyright (c) 2010 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: +// Flow / Binder +// (data plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERFLOW_H +#define MBUFGOBBLERFLOW_H + +#include +#include +#include +#include +#include +#include "mbufgobblertestflags.h" +#include + +class CMbufGobblerBinder; +class CMBufGobbler; + +class CMbufGobblerFlow : public ESock::CSubConnectionFlowBase, public ESock::MFlowBinderControl + { + friend class CMbufGobblerFlowFactory; + +protected: + CMbufGobblerFlow(ESock::CSubConnectionFlowFactoryBase& aFactory, const Messages::TNodeId& aSubConnId, ESock::CProtocolIntfBase* aProtocolIntf); + void ConstructL(); +public: + static CMbufGobblerFlow* NewL(ESock::CSubConnectionFlowFactoryBase& aFactory, const Messages::TNodeId& aSubConnId, ESock::CProtocolIntfBase* aProtocolIntf); + virtual ~CMbufGobblerFlow(); + + // from CSubConnectionFlowBase: + virtual ESock::MFlowBinderControl* DoGetBinderControlL(); + virtual void ReceivedL( + const Messages::TRuntimeCtxId& aSender, + const Messages::TNodeId& aRecipient, + Messages::TSignatureBase& aMessage + ); + + // from MFlowBinderControl: + virtual ESock::MLowerControl* GetControlL(const TDesC8& aProtocol); + virtual ESock::MLowerDataSender* BindL(const TDesC8& aProtocol, ESock::MUpperDataReceiver* aReceiver, ESock::MUpperControl* aControl); + virtual void Unbind( ESock::MUpperDataReceiver* aReceiver, ESock::MUpperControl* aControl); + virtual ESock::CSubConnectionFlowBase* Flow(); + + // my helper methods: + CMbufGobblerBinder* FindOrCreateBinderL(const TDesC8& aProtocol); + +private: + RPointerArray iBinders; + +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + CMBufGobbler* iMBufGobbler; +#endif + }; + +class CMbufGobblerBinder : public CBase, + public ESock::MLowerControl, // I receive control requests from above + public ESock::MLowerDataSender, // I receive data from above (outgoing) + public ESock::MUpperControl, // I receive control signals from below + public ESock::MUpperDataReceiver // I receive data from below (incoming) + { + public: + // My constructor + static CMbufGobblerBinder* NewL(const TDesC8& aProtocolName); + void ConstructL(); + protected: + CMbufGobblerBinder(const TDesC8& aProtocolName); + public: + virtual ~CMbufGobblerBinder(); + + // from ESock::MLowerControl: + virtual TInt GetName(TDes& aName); + virtual TInt BlockFlow(TBlockOption aOption); + virtual TInt GetConfig(TBinderConfig& aConfig); + virtual TInt Control(TUint aLevel, TUint aName, TDes8& aOption); + + // from ESock::MLowerDataSender: + virtual ESock::MLowerDataSender::TSendResult Send(RMBufChain& aData); + + // from ESock::MUpperControl: + virtual void StartSending(); + virtual void Error(TInt anError); + + // from ESock::MUpperDataReceiver: + virtual void Process(RMBufChain& aData); + + + // my own methods + TBool InUse() const {return iLowerControl || iLowerDataSender || iUpperControl || iUpperDataReceiver ; } + void BindToUpperL(ESock::MUpperDataReceiver& aUpperDataReceiver, ESock::MUpperControl& aUpperControl); + TBool UnbindFromUpper(ESock::MUpperDataReceiver& aUpperDataReceiver, ESock::MUpperControl& aUpperControl); + void BindToLowerFlowL(ESock::MFlowBinderControl& aLowerControl); + void UnbindFromLowerFlow(); // NEW UNBIND COMMAND + const TDesC8& ProtocolName() const; + + private: + ESock::MFlowBinderControl* iBinderControl; + ESock::MLowerControl* iLowerControl; // .. so I can send controls down + ESock::MLowerDataSender* iLowerDataSender; // .. so I can send data down (outgoing) + ESock::MUpperControl* iUpperControl; // .. so I can send controls up (err/startsending) + ESock::MUpperDataReceiver* iUpperDataReceiver; // .. so I can send data up (incoming) + TBuf8<10> iProtocolName; // long enough for an acronym one would hope + MBUFGOBBLER_TEST_DATA + }; + +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + +class CMBufGobbler : public CActive + { +public: + static CMBufGobbler* NewL(); + void ConstructL(); +protected: + CMBufGobbler(); +public: + virtual ~CMBufGobbler(); + + // from CActive: + virtual void DoCancel(); + virtual void RunL(); + + RMBufChain iChain; + RProperty iProperty; + }; +#endif + +#endif // MBUFGOBBLERFLOW_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerflowfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerflowfactory.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,56 @@ +// Copyright (c) 2010 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: +// The factory class which is used to instantiate the MbufGobbler flow. +// (data plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERFLOWFACTORY_H__ +#define MBUFGOBBLERFLOWFACTORY_H__ + +#include +#include +#include +#include +#include +#include +#include "mbufgobbleruids.h" + +class CMbufGobblerFlowFactory : public ESock::CSubConnectionFlowFactoryBase +/** +MbufGobbler Flow Factory +*/ + { +public: + + enum { EUid = EMbufGobblerFlowUid }; + static CMbufGobblerFlowFactory* NewL(TAny* aConstructionParameters); + +protected: + CMbufGobblerFlowFactory(TUid aFactoryId, ESock::CSubConnectionFlowFactoryContainer& aParentContainer); + virtual ESock::CSubConnectionFlowBase* DoCreateFlowL(ESock::CProtocolIntfBase* aProtocol, ESock::TFactoryQueryBase& aQuery); + }; + +#endif // MBUFGOBBLERFLOWFACTORY_H__ diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerhelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerhelper.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,52 @@ +// Copyright (c) 2010 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: +// Helper class supplying useful logging functions to the providers in the layer +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERHELPER_H +#define MBUFGOBBLERHELPER_H + +// INCLUDES +#include +#include + +#include + +// CLASS DECLARATION + +/** + * CMbufGobblerHelper + * + */ +class MbufGobblerHelper + { +public: + static void LogCreateDestroy(const TDesC8& aSubTag, const TDesC8& aNodeName, TAny* aNodePtr, TBool aIsCreate); + static void LogMessage(const TDesC8& aSubTag, const TDesC8& aNodeName, TAny* aNodePtr, const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage); + static void PrintClientNodes(const TDesC8& aSubTag, const TDesC8& aNodeName, MeshMachine::AMMNodeBase& aNode, TInt& aClientCount); + }; + +#endif // MBUFGOBBLERHELPER_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerlog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerlog.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,92 @@ +// Copyright (c) 2010 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: +// Helper macros that wrap the ones from ESock. +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERLOG_H_ +#define MBUFGOBBLERLOG_H_ + +#include +#include //defines LOG_NODE_CREATE and LOG_NODE_DESTROY + +#include //defines __CFLOG_* macros + +#include "mbufgobblerhelper.h" + +/* + * The component tag + * + * In commsdbg.ini add line LOG MbufGobblerLayer * to enbale these logs + */ +_LIT8(KMbufGobblerComponentTag, "MbufGobblerLayer"); + +#define KMbufGobblerMcprTag KESockMetaConnectionTag +_LIT8(KMbufGobblerMcprSubTag, "MbufGobblerMCpr"); + +#define KMbufGobblerMCprFactoryTag KESockMetaConnectionTag +_LIT8(KMbufGobblerMCprFactorySubTag, "MbufGobblerMCprFactory"); + +#define KMbufGobblerCprFactoryTag KESockConnectionTag +_LIT8(KMbufGobblerCprFactorySubTag, "MbufGobblerCprFactory"); + +#define KMbufGobblerCprTag KESockConnectionTag +_LIT8(KMbufGobblerCprSubTag, "MbufGobblerCpr"); + +#define KMbufGobblerScprFactoryTag KESockSubConnectionTag +_LIT8(KMbufGobblerScprFactorySubTag, "MbufGobblerSCprFactory"); + +#define KMbufGobblerScprTag KESockSubConnectionTag +_LIT8(KMbufGobblerScprSubTag, "MbufGobblerSCpr"); + +#define KMbufGobblerFlowTag KESockFlowTag +_LIT8(KMbufGobblerFlowSubTag,"MbufGobblerFlow"); + +#define KMbufGobblerTierTag KESockTierTag +_LIT8(KMbufGobblerTierSubTag,"MbufGobblerTierM"); + +#define KMbufGobblerTierFactoryTag KESockTierTag +_LIT8(KMbufGobblerTierFactorySubTag,"MbufGobblerTierMFactory"); + +/* + * LOG_NODE_CREATE - this logs out to utrace and is needed for SVG viewer + * __CFLOG_VAR - this logs to standard comms dbg utils. Must include cflog.mmh in mmp file + */ + +#define MBUFGOBBLER_LOG_NODE_CREATE(subTag, type, nodename, nodeptr) \ + LOG_NODE_CREATE(subTag, type); \ + MbufGobblerHelper::LogCreateDestroy(subTag, nodename, nodeptr, 1); + +#define MBUFGOBBLER_LOG_NODE_DESTROY(subTag, type, nodename, nodeptr) \ + LOG_NODE_DESTROY(subTag, type); \ + MbufGobblerHelper::LogCreateDestroy(subTag, nodename, nodeptr, 0); + +#define LOGMESSAGE(subtag, nodeclass, nodeptr, sender, recipient, msg) MbufGobblerHelper::LogMessage(subtag, nodeclass, nodeptr, sender, recipient, msg) + +#define LOG_NODE_INFO(subtag, nodename, node, clientcount) MbufGobblerHelper::PrintClientNodes(subtag, nodename, node, clientcount); + +#define LOG(subTag, ARGS...) __CFLOG_VAR((KMbufGobblerComponentTag, subTag, ##ARGS)); + +#endif /* MBUFGOBBLERLOG_H_ */ diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnprovider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnprovider.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,67 @@ +// Copyright (c) 2010 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: +// Meta Connection Provider +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERMETACONNPROVIDER_H +#define MBUFGOBBLERMETACONNPROVIDER_H + +// INCLUDES +#include +#include +#include +#include "mbufgobblertestflags.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerMetaConnectionProvider + * + */ + +class CMbufGobblerMetaConnectionProvider : public CCoreMetaConnectionProvider + { +public: + static CMbufGobblerMetaConnectionProvider* NewL(ESock::CMetaConnectionProviderFactoryBase& aFactory, + const ESock::TProviderInfo& aProviderInfo); + ~CMbufGobblerMetaConnectionProvider(); + +protected: + CMbufGobblerMetaConnectionProvider(ESock::CMetaConnectionProviderFactoryBase& aFactory, + const ESock::TProviderInfo& aProviderInfo, const MeshMachine::TNodeActivityMap& aActivityMap); + + void ConstructL(); + + // From MCFNode Interface + void ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aCFMessage); +private: + TInt iClientCount; //holds count of clients that node is joined with + MBUFGOBBLER_TEST_DATA + }; + + +#endif // MBUFGOBBLERMETACONNPROVIDER_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnprovideractivities.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnprovideractivities.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,59 @@ +// Copyright (c) 2010 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: +// Meta Connection Provider Mesh Activities +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERMETACONNPROVIDERACTIVITIES_H +#define MBUFGOBBLERMETACONNPROVIDERACTIVITIES_H + +// INCLUDES +#include +#include + +#include +#include + +// CLASS DECLARATION + +namespace MbufGobblerMCprActivities +{ +enum + { + /* + * Add new actviity id's here. I think they must be offset from ECFActivityCustom. + */ + + /* + * This is just an example activity + */ + EMbufGobblerMCprSomeActivity = ESock::ECFActivityCustom + 1, + }; + +DECLARE_ACTIVITY_MAP(MbufGobblerMCprActivitiesMap) +} + +#endif // MBUFGOBBLERMETACONNPROVIDERACTIVITIES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnproviderfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnproviderfactory.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,61 @@ +// Copyright (c) 2010 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: +// Factory which creates the Meta Connection Provider +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERMETACONNPROVIDERFACTORY_H +#define MBUFGOBBLERMETACONNPROVIDERFACTORY_H + +// INCLUDES +#include +#include +#include +#include "mbufgobbleruids.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerMetaConnectionProviderFactory + * + */ + + +class CMbufGobblerMetaConnectionProviderFactory : public ESock::CMetaConnectionProviderFactoryBase + { +public: + enum { iUid = EMbufGobblerMCPrUid }; + static CMbufGobblerMetaConnectionProviderFactory* NewL(TAny* aParentContainer); + +protected: //from CMetaConnectionProviderFactoryBase + virtual ESock::ACommsFactoryNodeId* DoCreateObjectL(ESock::TFactoryQueryBase& aQuery); + virtual void DoEnumerateConnectionsL (RPointerArray& /*aConnectionInfoPtrArray*/); + +private: //not intended for derivation + CMbufGobblerMetaConnectionProviderFactory(TUid aFactoryUid, ESock::CMetaConnectionFactoryContainer& aParentContainer); + }; + +#endif // MBUFGOBBLERMETACONNPROVIDERFACTORY_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnproviderstates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblermetaconnproviderstates.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,77 @@ +// Copyright (c) 2010 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: +// Meta Connection Provider Mesh States +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERMETACONNPROVIDERMESHSTATES_H +#define MBUFGOBBLERMETACONNPROVIDERMESHSTATES_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** + * CMbufGobblerMetaConnectionProviderStates + * + */ +class CMbufGobblerMetaConnectionProviderStates : public CBase + { +public: + // Constructors and destructor + + /** + * Destructor. + */ + ~CMbufGobblerMetaConnectionProviderStates(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerMetaConnectionProviderStates* NewL(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerMetaConnectionProviderStates* NewLC(); + +private: + + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerMetaConnectionProviderStates(); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + + }; + +#endif // MBUFGOBBLERMETACONNPROVIDERMESHSTATES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerproviderselector.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerproviderselector.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,69 @@ +// Copyright (c) 2010 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: +// MbufGobbler selector. Used by the Tier Manager to select the access point below +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERPROVIDERSELECTOR_H +#define MBUFGOBBLERPROVIDERSELECTOR_H + +// INCLUDES +#include +#include + +#include + +// CLASS DECLARATION + +/** + * CMbufGobblerProviderSelector + * + * This is basically copied from other selector examples I culd find. Specifically I have used the + * CBtGenericProviderSelector as a template. + * + */ +class CMbufGobblerProviderSelector : public CBase, private ASimpleSelectorBase + { +public: + static ESock::MProviderSelector* NewL(const Meta::SMetaData& aSelectionPreferences); + +private: + CMbufGobblerProviderSelector(const Meta::SMetaData& aSelectionPreferences); + ~CMbufGobblerProviderSelector(); + + // From MProviderSelector + virtual void SelectL(ESock::ISelectionNotify& aSelectionNotify); + virtual void Destroy(); + + ESock::CMetaConnectionProviderBase* FindOrCreateProviderL(TUint aAccessPoint); + +private: + ESock::TSelectionPrefs iSelectionPreferences; + TUint32 iTier; + }; + + +#endif // MBUFGOBBLERPROVIDERSELECTOR_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerpubsub.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblerpubsub.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,70 @@ +// Copyright (c) 2010 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: +// Defines the series of requests which a ESOCK client can send to the MBuf Gobbler using +// the publish and subscribe attribute EMBufGobbler. +// +// A test ESOCK client can deplete all the MBufs from the MBuf pool as follows: +// +// TInt result = RProperty::Set(TUid::Uid(EMBufGobbler ), EAdjustNumberOfMBufsRemainingInPool , EGobbleAllMBufs); +// +// Issuing this command should cause a socket read or write request to fail due to MBuf pool exhaustion. +// +// Subsequently a test ESOCK client can return all the MBufs it has taken from the pool as follows: +// +// result = RProperty::Set(TUid::Uid(EMBufGobbler), EAdjustNumberOfMBufsRemainingInPool, EReleaseAllMBufs); +// +// After taking all the MBufs from the pool, an ESOCK test client can also return a single MBuf back to the pool as follows: +// +// result = RProperty::Set(TUid::Uid(EMBufGobbler), EAdjustNumberOfMBufsRemainingInPool, EReleaseASingleMBuf); +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERPUBSUB_H +#define MBUFGOBBLERPUBSUB_H + + +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + +enum +{ +EMBufGobbler = 0x10272F97 +}; + +enum +{ +EAdjustNumberOfMBufsRemainingInPool = 1 +}; + +enum +{ +EGobbleAllMBufs, +EReleaseAllMBufs, +EReleaseASingleMBuf +}; + +#endif + +#endif + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnprovider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnprovider.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,77 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERSUBCONNPROVIDER_H +#define MBUFGOBBLERSUBCONNPROVIDER_H + +// INCLUDES +#include +#include +#include +#include "mbufgobblertestflags.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerSubconnProvider + * + */ +class ESock::CSubConnectionProviderFactoryBase; +class CMbufGobblerSubconnProvider : public CCoreSubConnectionProvider + { +public: + // Constructors and destructor + static CMbufGobblerSubconnProvider* NewL(ESock::CSubConnectionProviderFactoryBase& aFactory); + + /** + * Destructor. + */ + ~CMbufGobblerSubconnProvider(); + + +protected: //from CCoreSubConnectionProvider + void ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage); + +private: + + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerSubconnProvider(ESock::CSubConnectionProviderFactoryBase& aFactory); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); +private: + TInt iClientCount; //holds count of clients that node is joined with + MBUFGOBBLER_TEST_DATA + }; + +#endif // MBUFGOBBLERSUBCONNPROVIDER_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnprovideractivities.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnprovideractivities.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,61 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider Mesh Activities +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERSUBCONNPROVIDERACTIVITIES_H +#define MBUFGOBBLERSUBCONNPROVIDERACTIVITIES_H + +// INCLUDES +#include +#include + +#include +#include + +// CLASS DECLARATION + +namespace MbufGobblerSCprActivities +{ + + +enum + { + /* + * Add new actviity id's here. I think they must be offset from ECFActivityCustom. + */ + + /* + * This is just an example activity + */ + EMbufGobblerSCprSomeActivity = ESock::ECFActivityCustom + 1, + }; + +DECLARE_ACTIVITY_MAP(MbufGobblerSCprActivitiesMap) +} + +#endif // MBUFGOBBLERSUBCONNPROVIDERACTIVITIES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnproviderfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnproviderfactory.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,56 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider Factory +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERSUBCONNPROVIDERFACTORY_H +#define MBUFGOBBLERSUBCONNPROVIDERFACTORY_H + +// INCLUDES +#include +#include +#include +#include "mbufgobbleruids.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerSubconnProviderFactory + * + */ +class CMbufGobblerSubconnProviderFactory : public ESock::CSubConnectionProviderFactoryBase + { +public: + enum { iUid = EMbufGobblerSCPrUid }; + static CMbufGobblerSubconnProviderFactory* NewL(TAny* aParentContainer); + +protected: + CMbufGobblerSubconnProviderFactory(TUid aFactoryId, ESock::CSubConnectionFactoryContainer& aParentContainer); + virtual ESock::ACommsFactoryNodeId* DoCreateObjectL(ESock::TFactoryQueryBase& aQuery); + }; + +#endif // MBUFGOBBLERSUBCONNPROVIDERFACTORY_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnproviderstates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblersubconnproviderstates.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,77 @@ +// Copyright (c) 2010 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: +// Connection Provider Declaration +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERSUBCONNPROVIDERSTATES_H +#define MBUFGOBBLERSUBCONNPROVIDERSTATES_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** + * CMbufGobblerSubconnMeshStates + * + */ +class CMbufGobblerSubconnMeshStates : public CBase + { +public: + // Constructors and destructor + + /** + * Destructor. + */ + ~CMbufGobblerSubconnMeshStates(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerSubconnMeshStates* NewL(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerSubconnMeshStates* NewLC(); + +private: + + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerSubconnMeshStates(); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + + }; + +#endif // MBUFGOBBLERSUBCONNPROVIDERSTATES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertestflags.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertestflags.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,105 @@ +// Copyright (c) 2010 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: +// Test flags. Lightweight functions to provide basic coverage test +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERTESTFLAGS_H_ +#define MBUFGOBBLERTESTFLAGS_H_ + + +#include + +#ifdef _DEBUG +#define MBUFGOBBLER_TEST_POINT(flag,result) if(iTestFlags) {MbufGobblerTestFlags::SetResult(MbufGobblerTestFlags::flag,result);} +#define MBUFGOBBLER_TEST_DATA TBool iTestFlags; +#define MBUFGOBBLER_TEST_DATA_INIT iTestFlags = MbufGobblerTestFlags::TestFlagsActive(); + + +namespace MbufGobblerTestFlags +{ +const TUid KPubSubUid = {0x00285DAC}; + +enum + { + // set by test library, read by binder + KFlagsActive = 100, + + // set by binder, read by test library + KTierUp = 101, + + KMCPrUp = 111, + + KCPrUp = 121, + + KSCPrUp = 131, + + KBind = 141, + KBinderSend = 142, + KBinderReceive = 143, + }; + + +// used by client test library +static TInt ActivateTestFlags() + { + return RProperty::Define(KPubSubUid, KFlagsActive, RProperty::EInt); + } + +// used by client test library +static TInt GetResult(TInt aFlag) + { + TInt value=0; + TInt retcode=RProperty::Get(KPubSubUid, aFlag, value); + return (retcode==KErrNone) ? value : retcode; + } + +// used by binder +static TBool TestFlagsActive() + { + return GetResult(KFlagsActive) == KErrNone; + } + +// used by binder +static void SetResult(TInt aFlag, TInt aValue) + { + // Yes it is very inefficient making these calls + // on e.g. each packet send but we only do this when + // the test is running i.e. if it was explicitly + // switched on, so it won't affect "normal" operation. + RProperty::Define(KPubSubUid, aFlag, RProperty::EInt); + RProperty::Set(KPubSubUid, aFlag, aValue); + } +} // namespace MbufGobblerTestFlags + +#else // _DEBUG +#define MBUFGOBBLER_TEST_POINT(flag,result) +// It's better to make the urel and udeb objects the same size, +// at the expense of 4 bytes: +#define MBUFGOBBLER_TEST_DATA TBool iTestFlags_unused; +#define MBUFGOBBLER_TEST_DATA_INIT +#endif // _DEBUG + +#endif /* MBUFGOBBLERTESTFLAGS_H_ */ diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanager.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,59 @@ +// Copyright (c) 2010 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". +// +// Contributors: +// +// Description: +// Tier Manager +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERTIERMANAGER_H +#define MBUFGOBBLERTIERMANAGER_H + +// INCLUDES +#include +#include +#include +#include "mbufgobblertestflags.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerTierManager + * + */ +class CMbufGobblerTierManager : public CCoreTierManager + { +public: + static CMbufGobblerTierManager* NewL(ESock::CTierManagerFactoryBase& aFactory); + ~CMbufGobblerTierManager(); + virtual ESock::MProviderSelector* DoCreateProviderSelectorL(const Meta::SMetaData& aSelectionPreferences); + +protected: //from Messages::ANode + virtual void ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage); +private: + CMbufGobblerTierManager(ESock::CTierManagerFactoryBase& aFactory); + void ConstructL(); +private: + TInt iClientCount; //holds count of clients that node is joined with + MBUFGOBBLER_TEST_DATA + }; + +#endif // MBUFGOBBLERTIERMANAGER_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanageractivities.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanageractivities.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,61 @@ +// Copyright (c) 2010 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: +// Tier Manager Mesh Activities +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERTIERMANAGERACTIVITIES_H +#define MBUFGOBBLERTIERMANAGERACTIVITIES_H + +// INCLUDES +#include +#include + +#include + + +// CLASS DECLARATION + +namespace MbufGobblerTMActivities +{ + + +enum + { + /* + * Add new actviity id's here. I think they must be offset from ECFActivityCustom. + */ + + /* + * This is just an example activity + */ + EMbufGobblerTMSomeActivity = ESock::ECFActivityCustom + 1, + }; + +DECLARE_ACTIVITY_MAP(MbufGobblerTMActivitiesMap) +} + +#endif // MBUFGOBBLERTIERMANAGERACTIVITIES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanagerfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanagerfactory.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,57 @@ +// Copyright (c) 2010 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: +// Tier Manager Factory +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERTIERMANAGERFACTORY_H +#define MBUFGOBBLERTIERMANAGERFACTORY_H + +// INCLUDES +#include +#include +#include +#include "mbufgobbleruids.h" + +// CLASS DECLARATION + +/** + * CMbufGobblerTierManagerFactory + * + */ + +class CMbufGobblerTierManagerFactory : public ESock::CTierManagerFactoryBase + { +public: + enum { iUid = EMbufGobblerTierUid}; + static CMbufGobblerTierManagerFactory* NewL(TAny* aParentContainer); + +protected: + CMbufGobblerTierManagerFactory(TUid aTierTypeId, TUid aFactoryUid, ESock::CTierManagerFactoryContainer& aParentContainer); + virtual ESock::ACommsFactoryNodeId* DoCreateObjectL(ESock::TFactoryQueryBase& aQuery); + }; + +#endif // MBUFGOBBLERTIERMANAGERFACTORY_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanagerstates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobblertiermanagerstates.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,77 @@ +// Copyright (c) 2010 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: +// Tier Manager Mesh States +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLERTIERMANAGERSTATES_H +#define MBUFGOBBLERTIERMANAGERSTATES_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** + * CMbufGobblerTierManagerMeshStates + * + */ +class CMbufGobblerTierManagerMeshStates : public CBase + { +public: + // Constructors and destructor + + /** + * Destructor. + */ + ~CMbufGobblerTierManagerMeshStates(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerTierManagerMeshStates* NewL(); + + /** + * Two-phased constructor. + */ + static CMbufGobblerTierManagerMeshStates* NewLC(); + +private: + + /** + * Constructor for performing 1st stage construction + */ + CMbufGobblerTierManagerMeshStates(); + + /** + * EPOC default constructor for performing 2nd stage construction + */ + void ConstructL(); + + }; + +#endif // MBUFGOBBLERTIERMANAGERSTATES_H diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobbleruids.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/inc/mbufgobbleruids.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,41 @@ +// Copyright (c) 2010 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: +// Implementation UIds of the mbufgobbler providers +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#ifndef MBUFGOBBLER_UID_H +#define MBUFGOBBLER_UID_H + +enum + { + EMbufGobblerTierUid = 0x10272F98, + EMbufGobblerMCPrUid = 0x10272F99, + EMbufGobblerCPrUid = 0x10272F9A, + EMbufGobblerSCPrUid = 0x10272F9B, + EMbufGobblerFlowUid = 0x10272F9C, + }; + +#endif diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/10272f97.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/10272f97.rss Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,105 @@ +// Copyright (c) 2010 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: +// Registry info for MbufGobbler providers ECOM plug-in +// + +/** + @file + @internalComponent +*/ + +#include "ecom/registryinfo.rh" + +RESOURCE REGISTRY_INFO theInfo +{ +dll_uid = 0x10272F97; +interfaces = + { + INTERFACE_INFO + { + interface_uid = 0x10281DD7; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x10272F98; + version_no = 1; + display_name = "MbufGobbler Tier Manager Factory"; + default_data = "MbufGobblerTMFactory"; + opaque_data = ""; + } + }; + }, + INTERFACE_INFO + { + interface_uid = 0x10274546; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x10272F99; + version_no = 1; + display_name = "MbufGobbler Meta Connection Provider Factory"; + default_data = "MbufGobblerMCPrFactory"; + opaque_data = ""; + } + }; + }, + INTERFACE_INFO + { + interface_uid = 0x102070EE; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x10272F9A; + version_no = 1; + display_name = "MbufGobbler Connection Provider Factory"; + default_data = "MbufGobblerCPrFactory"; + opaque_data = ""; + } + }; + }, + INTERFACE_INFO + { + interface_uid = 0x10204301; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x10272F9B; + version_no = 1; + display_name = "MbufGobbler Sub Connection Provider Factory"; + default_data = "MbufGobblerSCPrFactory"; + opaque_data = ""; + } + }; + }, + INTERFACE_INFO + { + interface_uid = 0x10281C33; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x10272F9C; + version_no = 1; + display_name = "MbufGobbler Flow Factory"; + default_data = "MbufGobblerFlowFactory"; + opaque_data = ""; + } + }; + } + }; +} diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/ecom_impl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/ecom_impl.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,49 @@ +// Copyright (c) 2010 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: +// ECOM implementation for the MbufGobbler layer provider factories +// + +/** + @file + @internalComponent + */ + +#include +#include + +#include "mbufgobblerflowfactory.h" +#include "mbufgobblerconnproviderfactory.h" +#include "mbufgobblersubconnproviderfactory.h" +#include "mbufgobblermetaconnproviderfactory.h" +#include "mbufgobblertiermanagerfactory.h" + +// +// ECOM Implementation +// + +const TImplementationProxy ImplementationTable[] = + { + IMPLEMENTATION_PROXY_ENTRY(CMbufGobblerTierManagerFactory::iUid, CMbufGobblerTierManagerFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(CMbufGobblerMetaConnectionProviderFactory::iUid, CMbufGobblerMetaConnectionProviderFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(CMbufGobblerConnProviderFactory::iUid, CMbufGobblerConnProviderFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(CMbufGobblerSubconnProviderFactory::iUid, CMbufGobblerSubconnProviderFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(CMbufGobblerFlowFactory::EUid, CMbufGobblerFlowFactory::NewL), + }; + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovider.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,77 @@ +// Copyright (c) 2010 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: +// Connection Provider +// (control plane) +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include + +#include "mbufgobblerconnprovider.h" +#include "mbufgobblerconnprovideractivities.h" +#include "mbufgobblerlog.h" +#include "mbufgobblertestflags.h" + +using namespace MbufGobblerCprActivities; + +_LIT8(KNodeName, "CMbufGobblerConnProvider"); + +CMbufGobblerConnProvider* CMbufGobblerConnProvider::NewL(ESock::CConnectionProviderFactoryBase& aFactory) + { + CMbufGobblerConnProvider* prov = new (ELeave) CMbufGobblerConnProvider(aFactory); + CleanupStack::PushL(prov); + prov->ConstructL(); + CleanupStack::Pop(prov); + return prov; + } + +CMbufGobblerConnProvider::CMbufGobblerConnProvider(ESock::CConnectionProviderFactoryBase& aFactory) +: CCoreConnectionProvider(aFactory, MbufGobblerCprActivities::MbufGobblerCprActivitiesMap::Self()) + { + MBUFGOBBLER_LOG_NODE_CREATE(KMbufGobblerCprSubTag, CMbufGobblerConnProvider, KNodeName, this->NodeId().Ptr()); + } + + + +void CMbufGobblerConnProvider::ConstructL() + { + CCoreConnectionProvider::ConstructL(); + MBUFGOBBLER_TEST_DATA_INIT + MBUFGOBBLER_TEST_POINT(KCPrUp,KErrNone) + } + +CMbufGobblerConnProvider::~CMbufGobblerConnProvider() + { + MBUFGOBBLER_LOG_NODE_DESTROY(KMbufGobblerCprSubTag, CMbufGobblerConnProvider, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerConnProvider::ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage) + { + LOGMESSAGE(KMbufGobblerCprSubTag, KNodeName, this, aSender, aRecipient, aMessage); + LOG_NODE_INFO(KMbufGobblerCprSubTag, KNodeName, *this, iClientCount); + + MeshMachine::TNodeContext ctx(*this, aMessage, aSender, aRecipient); + Received(ctx); + User::LeaveIfError(ctx.iReturn); + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovideractivities.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovideractivities.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,44 @@ +// Copyright (c) 2010 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: +// Connection Provider Mesh Activities +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + + +#include "mbufgobblerconnprovideractivities.h" +#include "mbufgobblerlog.h" + +#include +#include + + + +namespace MbufGobblerCprActivities +{ +DEFINE_ACTIVITY_MAP(MbufGobblerCprActivitiesMap) + //no activities defiend here yet. This define is to show where to put activities + //so for now just inherit from core activities +ACTIVITY_MAP_END_BASE(CprActivities, coreCprActivities) +} diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnproviderfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnproviderfactory.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,59 @@ +// Copyright (c) 2010 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: +// Connection Provider Factory +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include "mbufgobblerconnproviderfactory.h" +#include "mbufgobblerconnprovider.h" +#include "mbufgobblerlog.h" + +CMbufGobblerConnProviderFactory::~CMbufGobblerConnProviderFactory() + { + } + +CMbufGobblerConnProviderFactory* CMbufGobblerConnProviderFactory::NewL(TAny* aParentContainer) + { + return new (ELeave) CMbufGobblerConnProviderFactory(TUid::Uid(CMbufGobblerConnProviderFactory::iUid), *reinterpret_cast(aParentContainer)); + } + +CMbufGobblerConnProviderFactory::CMbufGobblerConnProviderFactory(TUid aFactoryId, ESock::CConnectionFactoryContainer& aParentContainer) +: CConnectionProviderFactoryBase(aFactoryId, aParentContainer) + { + } + +ESock::ACommsFactoryNodeId* CMbufGobblerConnProviderFactory::DoCreateObjectL(ESock::TFactoryQueryBase& /* aQuery */) + { + return CMbufGobblerConnProvider::NewL(*this); + } + +void CMbufGobblerConnProviderFactory::EnumerateConnectionsL(RPointerArray& aConnectionInfoPtrArray) + { + (void)aConnectionInfoPtrArray; + //TEnumerateConnectionsQuery query(aConnectionInfoPtrArray); + //Find(query); + } + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovidermessages.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnprovidermessages.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,32 @@ +// Copyright (c) 2010 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: +// Connection Provider Messages +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include "mbufgobblerconnprovidermessages.h" +#include "mbufgobblerlog.h" + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnproviderstates.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerconnproviderstates.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,32 @@ +// Copyright (c) 2010 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: +// Connection Provider Mesh States +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include "mbufgobblerconnproviderstates.h" +#include "mbufgobblerlog.h" + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerflow.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerflow.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,667 @@ +// Copyright (c) 2010 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: +// Flow / Binder +// (data plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include +#include +#include +#include +#include "mbufgobblerflow.h" +#include "mbufgobblerlog.h" + +// for panics +_LIT(KPanicCategory, "MbufGobblerLayer"); +enum + { + KPanic_DestroyReceivedBeforeUnbind = 2001 + }; + +_LIT8(KNodeName, "CMbufGobblerFlow"); + + +/////////////////////////// +// class CMbufGobblerFlow // +/////////////////////////// + +CMbufGobblerFlow* CMbufGobblerFlow::NewL(ESock::CSubConnectionFlowFactoryBase& aFactory, const Messages::TNodeId& aSubConnId, ESock::CProtocolIntfBase* aProtocolIntf) + { + CMbufGobblerFlow* inst = new(ELeave) CMbufGobblerFlow(aFactory, aSubConnId, aProtocolIntf); + CleanupStack::PushL(inst); + inst->ConstructL(); + CleanupStack::Pop(inst); + return inst; + } + +CMbufGobblerFlow::CMbufGobblerFlow(ESock::CSubConnectionFlowFactoryBase& aFactory, const Messages::TNodeId& aSubConnId, ESock::CProtocolIntfBase* aProtocolIntf) +/** + * Constructor. + * + * @param aFactory Reference to the factory which created this object. + * @param aTheLogger The logging object, ownership is passed to this object + */ + :ESock::CSubConnectionFlowBase(aFactory, aSubConnId, aProtocolIntf) + { + MBUFGOBBLER_LOG_NODE_CREATE(KMbufGobblerFlowSubTag, CMbufGobblerFlow, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerFlow::ConstructL() + { +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + iMBufGobbler = CMBufGobbler::NewL(); +#endif + } + +CMbufGobblerFlow::~CMbufGobblerFlow() + { + MBUFGOBBLER_LOG_NODE_DESTROY(KMbufGobblerFlowSubTag, CMbufGobblerFlow, KNodeName, this->NodeId().Ptr()); + iBinders.ResetAndDestroy(); +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + delete iMBufGobbler; +#endif + } + + + +/////////////////////////////////////////// +// Methods from CSubConnectionFlowBase: // +/////////////////////////////////////////// + +ESock::MFlowBinderControl* CMbufGobblerFlow::DoGetBinderControlL() + { + return this; + } + + +// Messages::ANode +void CMbufGobblerFlow::ReceivedL( + const Messages::TRuntimeCtxId& aSender, + const Messages::TNodeId& aRecipient, + Messages::TSignatureBase& aMessage + ) +/** +Method called on incoming SCPR messages + +@param aCFMessage message base +*/ + { + + LOGMESSAGE(KMbufGobblerFlowSubTag, KNodeName, this, aSender, aRecipient, aMessage); + //LOG_NODE_INFO(KMbufGobblerFlowSubTag, KNodeName, *this); does not compile as flow inheritance is different to other nodes + CSubConnectionFlowBase::ReceivedL(aSender, aRecipient, aMessage); + + // Dispatch the message locally + if (ESock::TCFDataClient::ERealmId == aMessage.MessageId().Realm()) + { + switch (aMessage.MessageId().MessageId()) + { + + case ESock::TCFDataClient::TStart::EId : + { + iSubConnectionProvider.RNodeInterface::PostMessage( + Id(), + ESock::TCFDataClient::TStarted().CRef() + ); + } + break; + + case ESock::TCFDataClient::TStop::EId : + { + TInt i; + for (i=iBinders.Count()-1;i>=0;--i) + { + CMbufGobblerBinder* binder = iBinders[i]; + binder->UnbindFromLowerFlow(); + delete binder; + iBinders.Remove(i); + } + iSubConnectionProvider.PostMessage(Id(), ESock::TCFDataClient::TStopped(KErrNone).CRef()); + } + break; + + case ESock::TCFDataClient::TProvisionConfig::EId : + { + ESock::TCFDataClient::TProvisionConfig& aMess = Messages::message_cast(aMessage); + iAccessPointConfig.Close(); + iAccessPointConfig.Open(aMess.iConfig); + } + break; + + case ESock::TCFDataClient::TBindTo::EId : + { + ESock::TCFDataClient::TBindTo& bindToReq = Messages::message_cast(aMessage); + if (bindToReq.iNodeId == Messages::TNodeId::NullId()) + { + User::Leave(KErrNotSupported); + } + + const Messages::TNodeId& commsId = bindToReq.iNodeId; + CSubConnectionFlowBase* lowerFlow = Messages::mnode_cast(&commsId.Node()); + + MFlowBinderControl* lowerBinderControl = lowerFlow->GetBinderControlL(); + ASSERT(lowerBinderControl); + + TInt i; + for (i=0;iBindToLowerFlowL(*lowerBinderControl); + } + ASSERT(i); // there should be some binders! + + Messages::RClientInterface::OpenPostMessageClose( + Id(), + aSender, + ESock::TCFDataClient::TBindToComplete().CRef() + ); + } + break; + + default: + ASSERT(EFalse); + } + } + else if (Messages::TEChild::ERealmId == aMessage.MessageId().Realm()) + { + switch (aMessage.MessageId().MessageId()) + { + case Messages::TEChild::TDestroy::EId : + { + TInt i; + for (i=0;iInUse()) + { + //__CFLOG_0(KLogTag1, KLogTag2,_L("something is sending TDestroy to CMbufGobblerFlow before unbinding.")); + User::Panic(KPanicCategory,KPanic_DestroyReceivedBeforeUnbind); + } + + // EXAMPLE CODE: cancel requests here if necessary... + //iBinders[i]->Cancel(); + + } + if (i==iBinders.Count()) // all unbound + { + DeleteThisFlow(); + } + } + break; + + default: + ASSERT(EFalse); + } + } + // realm != TCFMessage::ERealmId + else + { + ASSERT(EFalse); + } + } + + +/////////////////////////////////////// +// Methods from MFlowBinderControl: // +/////////////////////////////////////// + +ESock::MLowerControl* CMbufGobblerFlow::GetControlL(const TDesC8& aProtocol) +/** +Create and return an MLowerControl instance of the specified binder type. + +Called from upper layer during binding procedure. + +@param aProtocol Protocol type of the binder +@return MLowerControl instance of the protocol type +*/ + { + ESock::MLowerControl* lowerControl = FindOrCreateBinderL(aProtocol); + ASSERT(lowerControl); + return lowerControl; + } + + +ESock::MLowerDataSender* CMbufGobblerFlow::BindL(const TDesC8& aProtocol, ESock::MUpperDataReceiver* aReceiver, ESock::MUpperControl* aControl) + { + CMbufGobblerBinder* binder = FindOrCreateBinderL(aProtocol); + ASSERT(binder); + binder->BindToUpperL( *aReceiver, *aControl ); + + iSubConnectionProvider.RNodeInterface::PostMessage( + Id(), + ESock::TCFControlProvider::TActive().CRef() + ); + + return binder; + } + +void CMbufGobblerFlow::Unbind( ESock::MUpperDataReceiver* aReceiver, ESock::MUpperControl* aControl) + { + ASSERT(aReceiver); + ASSERT(aControl); + TInt i; + TInt numberUnbound=0; + for (i=0;iUnbindFromUpper(*aReceiver,*aControl) ? 1 : 0); + } + ASSERT(i); // there should be some binders! + ASSERT(numberUnbound<=1); // only 1 unbind should have happened + + iSubConnectionProvider.RNodeInterface::PostMessage( + Id(), + ESock::TCFControlProvider::TIdle().CRef() + ); + } + +ESock::CSubConnectionFlowBase* CMbufGobblerFlow::Flow() + { + return this; + } + + +///////////////// +// Own methods // +///////////////// + +CMbufGobblerBinder* CMbufGobblerFlow::FindOrCreateBinderL(const TDesC8& aProtocol) + { + + // EXAMPLE CODE, should you want your: perhaps your protocol to work with IPv4 + //if (aProtocol.Compare(KIp4ProtocolName)) + // { // only work with IPv4 + // User::Leave(KErrNotSupported); + // } + + for (TInt i=0;iProtocolName() == aProtocol) + { + return iBinders[i]; + } + } + // not found.. create it. + CMbufGobblerBinder* newBinder = CMbufGobblerBinder::NewL(aProtocol); + CleanupStack::PushL(newBinder); + iBinders.AppendL(newBinder); + CleanupStack::Pop(newBinder); + return newBinder; + } + + + + + +//################################################################################################## + +///////////////////////////// +// class CMbufGobblerBinder // +///////////////////////////// + + +//////////////////// +// My constructor // +//////////////////// + +CMbufGobblerBinder::CMbufGobblerBinder(const TDesC8& aProtocolName): + iLowerControl(NULL), + iLowerDataSender(NULL), + iUpperControl(NULL), + iUpperDataReceiver(NULL), + iProtocolName(aProtocolName) + {} + +CMbufGobblerBinder* CMbufGobblerBinder::NewL(const TDesC8& aProtocolName) + { + CMbufGobblerBinder* inst = new(ELeave) CMbufGobblerBinder(aProtocolName); + CleanupStack::PushL(inst); + inst->ConstructL(); + CleanupStack::Pop(inst); + return inst; + } + +void CMbufGobblerBinder::ConstructL() + { + MBUFGOBBLER_TEST_DATA_INIT +#if 0 + // EXAMPLE CODE - set up everything you need to in this method. + // Perhaps you have some kind of test control interface using pub/sub.. if so you'd do something like below.. + // Diff this file with networking/netperf/delaymeterproto/src/delaymeterflow.cpp for a full working implementation of such a control interface... + CActiveScheduler::Add(this); + DefinePubSubKeysL(); + // watch for incoming commands + User::LeaveIfError(iProperty.Attach(TUid::Uid(KDelayMeterControlLevel), KCommandToDelayMeter)); + iProperty.Subscribe(iStatus); + SetActive(); +#endif + } + +/*virtual*/ +CMbufGobblerBinder::~CMbufGobblerBinder() + { + } + + + +//////////////////////////////////////// +// Methods from ESock::MLowerControl: // +//////////////////////////////////////// + +TInt CMbufGobblerBinder::GetName(TDes& aName) + { + TBuf16<10> tmp; + tmp.Copy(ProtocolName()); + aName.Format(_L("mbufgobbler[%S][0x%08x]"), &tmp, this); + + return KErrNone; + } + +TInt CMbufGobblerBinder::BlockFlow(TBlockOption aOption) + { + if (iLowerControl==NULL) + { + return KErrNotReady; + } + return iLowerControl->BlockFlow(aOption) ; + } + +TInt CMbufGobblerBinder::GetConfig(TBinderConfig& aConfig) + { + if (iLowerControl==NULL) + { + return KErrNotReady; + } + return iLowerControl->GetConfig(aConfig) ; + } + +TInt CMbufGobblerBinder::Control(TUint aLevel, TUint aName, TDes8& aOption) + { + // Pass it on.. + if (iLowerControl==NULL) + { + return KErrNotReady; + } + return iLowerControl->Control(aLevel,aName,aOption); + } + + +/////////////////////////////////////////// +// Methods from ESock::MLowerDataSender: // +/////////////////////////////////////////// + +ESock::MLowerDataSender::TSendResult CMbufGobblerBinder::Send(RMBufChain& aData) + { + // EXAMPLE NOTE: + // This is where a protocol implementation will do its work on outgoing data. + + MBUFGOBBLER_TEST_POINT(KBinderSend,KErrNone) + + if (iLowerControl==NULL) + { + return ESendBlocked; // returning this obliges us to send an unblock later.. + // so perhaps it'd be better to just swallow the packet? + } + return iLowerDataSender->Send(aData); + } + +//////////////////////////////////////// +// Methods from ESock::MUpperControl: // +//////////////////////////////////////// + +/*virtual*/ +void CMbufGobblerBinder::StartSending() + { + if (iUpperControl) + { + iUpperControl->StartSending(); + } + else + { + ASSERT(1); // to allow setting a breakpoint + //__CFLOG_0(KLogTag1, KLogTag2,_L("CMbufGobblerBinder::StartSending: upper control not yet known!")); + } + } + +/*virtual*/ +void CMbufGobblerBinder::Error(TInt anError) + { + if (iUpperControl) + { + iUpperControl->Error(anError); + } + else + { + ASSERT(1); // to set a breakpoint + //__CFLOG_0(KLogTag1, KLogTag2,_L("CMbufGobblerBinder::Error: upper control not yet known!")); + } + } + + +///////////////////////////////////////////// +// Methods from ESock::MUpperDataReceiver: // +///////////////////////////////////////////// + +/*virtual*/ +void CMbufGobblerBinder::Process(RMBufChain& aData) + { + // EXAMPLE NOTE: + // This is where a protocol implementation will do its work on incoming data. + + MBUFGOBBLER_TEST_POINT(KBinderReceive,KErrNone) + + if (iUpperDataReceiver == NULL) + { + // Why is the guy below still sending data to me when I'm not bound above? + // Try to ignore it + ASSERT(1); // so a breakpoint can be set if necessary + //__CFLOG_0(KLogTag1, KLogTag2,_L("CMbufGobblerBinder::Process: incoming traffic discarded as upper data receiver not (or no longer) set")); + return; + } + iUpperDataReceiver->Process(aData); + } + + +////////////////////////// +// and my own methods.. // +////////////////////////// + +// called by layer above calling my flow's BindL +void CMbufGobblerBinder::BindToUpperL(MUpperDataReceiver& aUpperDataReceiver, MUpperControl& aUpperControl) + { + if(iUpperDataReceiver || iUpperControl) {User::Leave(KErrInUse);} + iUpperDataReceiver=&aUpperDataReceiver; + iUpperControl=&aUpperControl; + MBUFGOBBLER_TEST_POINT(KBind,KErrNone) + } + +// called by layer above calling my flow's Unbind. Returns ETrue if unbind happened here, EFalse otherwise +TBool CMbufGobblerBinder::UnbindFromUpper(MUpperDataReceiver& aUpperDataReceiver, MUpperControl& aUpperControl) + { + if(&aUpperDataReceiver == iUpperDataReceiver && &aUpperControl == iUpperControl) + { + iUpperDataReceiver=0; + iUpperControl=0; + return ETrue; + } + return EFalse; + } + +// called by my flow receiving a BinderRequest +void CMbufGobblerBinder::BindToLowerFlowL(ESock::MFlowBinderControl& aLowerBinderControl) + { +// __CFLOG_0(KLogTag1, KLogTag2, _L("CMbufGobblerBinder::BindToLowerFlowL")); + if(iLowerControl || iLowerDataSender) + { + User::Leave(KErrInUse); + } + + iBinderControl = &aLowerBinderControl; + iLowerControl = aLowerBinderControl.GetControlL(ProtocolName()); + iLowerDataSender = aLowerBinderControl.BindL(ProtocolName(), this, this); + } + +void CMbufGobblerBinder::UnbindFromLowerFlow() + { + if (!iBinderControl) + return; + + iBinderControl->Unbind(this, this); + iBinderControl = NULL; + + iLowerControl = NULL; + iLowerDataSender = NULL; + } + +const TDesC8& CMbufGobblerBinder::ProtocolName() const + { + return iProtocolName; + } + +#ifdef SYMBIAN_COMMSFW_MBUF_GOBBLER + +CMBufGobbler::CMBufGobbler(): + CActive(CActive::EPriorityStandard) + { + } + +CMBufGobbler* CMBufGobbler::NewL() + { + CMBufGobbler* inst = new(ELeave) CMBufGobbler; + CleanupStack::PushL(inst); + inst->ConstructL(); + CleanupStack::Pop(inst); + return inst; + } + +void CMBufGobbler::ConstructL() + { + iChain.AllocL(128); + + CActiveScheduler::Add(this); + + TInt result = RProperty::Define(TUid::Uid(EMBufGobbler), EAdjustNumberOfMBufsRemainingInPool, RProperty::EInt); + // Only want 1 instance of a MBufGobbler Layer, so just leave if KErrAlreadyExists returned + User::LeaveIfError(result); + + // watch for incoming commands + User::LeaveIfError(iProperty.Attach(TUid::Uid(EMBufGobbler), EAdjustNumberOfMBufsRemainingInPool)); + + iProperty.Subscribe(iStatus); + SetActive(); + } + +/*virtual*/ CMBufGobbler::~CMBufGobbler() + { + if (IsActive()) + { + Cancel(); + } + + iChain.Free(); + + TInt result = RProperty::Delete(TUid::Uid(EMBufGobbler), EAdjustNumberOfMBufsRemainingInPool); + if (result != KErrNone) + { + RDebug::Print(_L("CMBufGobbler::~CMBufGobbler() %d"), result); + } + } + +/*virtual*/ void CMBufGobbler::DoCancel() + { + iProperty.Cancel(); + } + +/*virtual*/ void CMBufGobbler::RunL() + { + // Resubscribe to ensure that next pub/sub notification is picked up + iProperty.Subscribe(iStatus); + SetActive(); + + TInt request=EGobbleAllMBufs; + TInt pubSubRet = iProperty.Get(request); + if (pubSubRet == KErrNone) + { + switch(request) + { + case EGobbleAllMBufs: + { + RMBufAllocator allocator; + RMBufChain chain; + TInt size = allocator.NextMBufSize(0); + while (size != KErrNotFound) + { + TInt ret = KErrNone; + while (ret == KErrNone) + { + ret = chain.Alloc(size); + if (ret==KErrNone ) + { + iChain.Append(chain); + } + } + size = allocator.NextMBufSize(size); + } + TInt length = iChain.Length(); + RDebug::Print(_L("Out of MBuf Memory... Total MBuf memory in use %d"), length); + TInt numBufs = iChain.NumBufs(); + RDebug::Print(_L("Out of MBuf Memory... Total MBufs in use %d"), numBufs); + break; + } + case EReleaseAllMBufs: + { + if(!iChain.IsEmpty()) + { + iChain.Free(); + ASSERT(!iChain.Length()); + } + break; + } + case EReleaseASingleMBuf: + { + TInt length = iChain.Length(); + if (length != 0) + { + TInt trimOffset = length - iChain.Last()->Size(); + iChain.TrimEnd(trimOffset); + } + + length = iChain.Length(); + RDebug::Print(_L("MBufMemory De-Allocated... Total MBuf memory in use %d"), length); + break; + } + default: + { + RDebug::Print(_L("CMBufGobbler::RunL(), invalid request %d"), request); + break; + } + } + } + else + { + RDebug::Print(_L("Attempt to process MBufGobbler publish/subscribe failed with value for %d"), pubSubRet); + } + } + +#endif diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerflowfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerflowfactory.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,71 @@ +// Copyright (c) 2010 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: +// The factory class which is used to instantiate the MbufGobbler flow. +// (data plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include "mbufgobblerflowfactory.h" +#include "mbufgobblerflow.h" +#include "mbufgobblerlog.h" + +// ===================================================================================== +// +// MbufGobbler Flow Factory +// + +CMbufGobblerFlowFactory* CMbufGobblerFlowFactory::NewL(TAny* aConstructionParameters) +/** +Constructs a Default SubConnection Flow Factory + +@param aConstructionParameters construction data passed by ECOM + +@returns pointer to a constructed factory +*/ + { + CMbufGobblerFlowFactory* ptr = new (ELeave) CMbufGobblerFlowFactory(TUid::Uid(CMbufGobblerFlowFactory::EUid), *(reinterpret_cast(aConstructionParameters))); + + return ptr; + } + + +CMbufGobblerFlowFactory::CMbufGobblerFlowFactory(TUid aFactoryId, ESock::CSubConnectionFlowFactoryContainer& aParentContainer) + : CSubConnectionFlowFactoryBase(aFactoryId, aParentContainer) +/** +Default SubConnection Flow Factory Constructor + +@param aFactoryId ECOM Implementation Id +@param aParentContainer Object Owner +*/ + { + } + + +ESock::CSubConnectionFlowBase* CMbufGobblerFlowFactory::DoCreateFlowL(ESock::CProtocolIntfBase* aProtocol, ESock::TFactoryQueryBase& aQuery) + { + const ESock::TDefaultFlowFactoryQuery& query = static_cast(aQuery); + ESock::CSubConnectionFlowBase *temp = CMbufGobblerFlow::NewL(*this, query.iSCprId, aProtocol); + return temp; + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerhelper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerhelper.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,114 @@ +// Copyright (c) 2010 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: +// Helper class supplying useful logging functions to the providers in the layer +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// +/** + @file + @internalComponent +*/ + +#include "mbufgobblerhelper.h" +#include "mbufgobblerlog.h" +#include +#include + + +void MbufGobblerHelper::LogCreateDestroy(const TDesC8& aSubTag, const TDesC8& aNodeName, TAny* aNodePtr, TBool aIsCreate) + { + // to eradicate warnings on builds for which the LOG macro does nothing (e.g. urel) + (void)(aSubTag); (void)(aNodeName); (void)(aNodePtr); (void)(aIsCreate); + + if(aIsCreate) + { + LOG(aSubTag,_L8("%S (0x%x) Created"), &aNodeName, aNodePtr); + } + else + { + LOG(aSubTag,_L8("%S (0x%x) Destroyed"), &aNodeName, aNodePtr); + } + } + +void MbufGobblerHelper::LogMessage(const TDesC8& aSubTag, const TDesC8& aNodeName, TAny* aNodePtr, const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage) + { + // to eradicate warnings on builds for which the LOG macro does nothing (e.g. urel) + (void)(aSubTag); (void)(aNodeName); (void)(aNodePtr); + + TInt msgId = aMessage.MessageId().MessageId(); + TInt realm = aMessage.MessageId().Realm(); + + TUint32 threadid_of_sender = aSender.Thread(); + Messages::TNodeId nid = Messages::address_cast(aSender); + TAny* ptr = nid.Ptr(); //this seems to be the only hting that can be used to print out something to address the node + TAny* rptr = aRecipient.Ptr(); + __CFLOG_VAR((KMbufGobblerComponentTag, aSubTag,_L8("Node %S(0x%x) message received (msgid=%d, realm=0x%x), sender(0x%x threadID=%d)"), &aNodeName, rptr, msgId, realm, ptr, threadid_of_sender)); + } + +void MbufGobblerHelper::PrintClientNodes(const TDesC8& aSubTag, const TDesC8& aNodeName, MeshMachine::AMMNodeBase& aNode, TInt& aClientCount) + { + // to eradicate warnings on builds for which the LOG macro does nothing (e.g. urel) + (void)(aSubTag); (void)(aNodeName); + + TUint type = ESock::TCFClientType::EData | ESock::TCFClientType::ECtrl | ESock::TCFClientType::EServProvider | ESock::TCFClientType::ECtrlProvider; + TInt totclients = aNode.CountClients(type); + //only print if count different than previous + if(aClientCount != totclients) + { + aClientCount = totclients; + LOG(aSubTag,_L8("Printing Node %S(0x%x) info..."), &aNodeName, aNode.Id().Ptr()); + LOG(aSubTag, _L8("\tTotal Num clients = %d"), totclients); + + //enumerate through clients + Messages::TClientIter clientIter(aNode.GetClientIter(type)); + Messages::RNodeInterface* client = clientIter++; + while (client) + { + + Messages::TNodeId id = client->RecipientId(); + //look up node type + TBuf8<20> typlu; + switch(client->Type()) + { + case ESock::TCFClientType::EUnknown: + typlu = _L8("EUnknown"); + break; + case ESock::TCFClientType::EData: + typlu = _L8("EData"); + break; + case ESock::TCFClientType::ECtrl: + typlu = _L8("ECtrl"); + break; + case ESock::TCFClientType::EServProvider: + typlu = _L8("EServProvider"); + break; + case ESock::TCFClientType::ECtrlProvider: + typlu = _L8("ECtrlProvider"); + break; + default: + typlu = _L8("Unknown"); + break; + } + LOG(aSubTag, _L8("\t\tClientNode(0x%x) type=%d(%S), flags=%d"), id.Ptr(), client->Type(), &typlu, client->Flags()); + client = clientIter++; + } + } + + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnprovider.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,74 @@ +// Copyright (c) 2010 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: +// Meta Connection Provider +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblermetaconnprovider.h" +#include "mbufgobblermetaconnprovideractivities.h" +#include "mbufgobblerlog.h" +#include "mbufgobblertestflags.h" + +_LIT8(KNodeName, "CMbufGobblerMetaConnectionProvider"); + +CMbufGobblerMetaConnectionProvider* CMbufGobblerMetaConnectionProvider::NewL(ESock::CMetaConnectionProviderFactoryBase& aFactory, + const ESock::TProviderInfo& aProviderInfo) + { + CMbufGobblerMetaConnectionProvider* self = new (ELeave) CMbufGobblerMetaConnectionProvider(aFactory,aProviderInfo,MbufGobblerMCprActivities::MbufGobblerMCprActivitiesMap::Self()); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +CMbufGobblerMetaConnectionProvider::CMbufGobblerMetaConnectionProvider(ESock::CMetaConnectionProviderFactoryBase& aFactory, + const ESock::TProviderInfo& aProviderInfo, const MeshMachine::TNodeActivityMap& aActivityMap) + : CCoreMetaConnectionProvider(aFactory, aProviderInfo, aActivityMap) + { + MBUFGOBBLER_LOG_NODE_CREATE(KMbufGobblerMcprSubTag, CMbufGobblerMetaConnectionProvider, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerMetaConnectionProvider::ConstructL() + { + CCoreMetaConnectionProvider::ConstructL(); + MBUFGOBBLER_TEST_DATA_INIT + MBUFGOBBLER_TEST_POINT(KMCPrUp,KErrNone) + } + +CMbufGobblerMetaConnectionProvider::~CMbufGobblerMetaConnectionProvider() + { + MBUFGOBBLER_LOG_NODE_DESTROY(KMbufGobblerMcprSubTag, CMbufGobblerMetaConnectionProvider, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerMetaConnectionProvider::ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aCFMessage) + { + LOGMESSAGE(KMbufGobblerMcprSubTag, KNodeName, this, aSender, aRecipient, aCFMessage); + LOG_NODE_INFO(KMbufGobblerMcprSubTag, KNodeName, *this, iClientCount); + MeshMachine::TNodeContext ctx(*this, aCFMessage, aSender, aRecipient); + CCoreMetaConnectionProvider::Received(ctx); + User::LeaveIfError(ctx.iReturn); + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnprovideractivities.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnprovideractivities.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,42 @@ +// 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 the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Meta Connection Provider Mesh Activities +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblermetaconnprovideractivities.h" +#include "mbufgobblerlog.h" + +#include + + +namespace MbufGobblerMCprActivities +{ +DEFINE_ACTIVITY_MAP(MbufGobblerMCprActivitiesMap) + //no activities defiend here yet. This define is to show where to put activities + //so for now just inherit from core activities +ACTIVITY_MAP_END_BASE(MCprActivities, coreMCprActivities) +} diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnproviderfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnproviderfactory.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,63 @@ +// Copyright (c) 2010 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: +// Factory which creates the Meta Connection Provider +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblermetaconnproviderfactory.h" +#include "mbufgobblermetaconnprovider.h" +#include "mbufgobblerlog.h" + + +CMbufGobblerMetaConnectionProviderFactory* CMbufGobblerMetaConnectionProviderFactory::NewL(TAny* aParentContainer) + { + return new (ELeave) CMbufGobblerMetaConnectionProviderFactory(TUid::Uid(CMbufGobblerMetaConnectionProviderFactory::iUid), + *(reinterpret_cast(aParentContainer))); + } + +CMbufGobblerMetaConnectionProviderFactory::CMbufGobblerMetaConnectionProviderFactory(TUid aFactoryUid, ESock::CMetaConnectionFactoryContainer& aParentContainer) + : CMetaConnectionProviderFactoryBase(aFactoryUid,aParentContainer) + { + //LOG_NODE_CREATE(KVccMCprFactoryTag, CVccMetaConnectionProviderFactory); + } + +ESock::ACommsFactoryNodeId* CMbufGobblerMetaConnectionProviderFactory::DoCreateObjectL(ESock::TFactoryQueryBase& aQuery) + { + //LOG1(_L8("CMbufGobblerMetaConnectionProviderFactory %08x:\tDoCreateObjectL()"), this); + const ESock::TMetaConnectionFactoryQuery& query = static_cast(aQuery); + return CMbufGobblerMetaConnectionProvider::NewL (*this, query.iProviderInfo); + } + +void CMbufGobblerMetaConnectionProviderFactory::DoEnumerateConnectionsL (RPointerArray& /*aConnectionInfoPtrArray*/) + { + User::Leave(KErrNotSupported); + } + + + + + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnproviderstates.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblermetaconnproviderstates.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,62 @@ +// Copyright (c) 2010 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: +// Meta Connection Provider Mesh States +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblermetaconnproviderstates.h" +#include "mbufgobblerlog.h" + +CMbufGobblerMetaConnectionProviderStates::CMbufGobblerMetaConnectionProviderStates() + { + // No implementation required + } + +CMbufGobblerMetaConnectionProviderStates::~CMbufGobblerMetaConnectionProviderStates() + { + } + +CMbufGobblerMetaConnectionProviderStates* CMbufGobblerMetaConnectionProviderStates::NewLC() + { + CMbufGobblerMetaConnectionProviderStates* self = + new (ELeave) CMbufGobblerMetaConnectionProviderStates(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CMbufGobblerMetaConnectionProviderStates* CMbufGobblerMetaConnectionProviderStates::NewL() + { + CMbufGobblerMetaConnectionProviderStates* self = + CMbufGobblerMetaConnectionProviderStates::NewLC(); + CleanupStack::Pop(); // self; + return self; + } + +void CMbufGobblerMetaConnectionProviderStates::ConstructL() + { + + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerproviderselector.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblerproviderselector.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,105 @@ +// Copyright (c) 2010 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: +// MbufGobbler selector. Used by the Tier Manager to select the access point below +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblerproviderselector.h" +#include "mbufgobblerlog.h" + +//extra includes +#include //needed as declares MProviderSelector. +#include //needed for CommsDat::CMDBSession +#include //needed for ESock::TierManagerUtils +#include //needed for CCDTierRecord (iTierRecord) + +#include "mbufgobbler_panic.h" //needed for ASSERT_DEBUG +#include "mbufgobblertiermanagerfactory.h" //needed for CMbufGobblerTierManagerFactory::iUid +#include "mbufgobblermetaconnproviderfactory.h" //needed for CMbufGobblerMetaConnectionProviderFactory::iUid + + +ESock::MProviderSelector* CMbufGobblerProviderSelector::NewL(const Meta::SMetaData& aSelectionPreferences) + { + //LOG_STATIC_FUNC + ASSERT_DEBUG(aSelectionPreferences.IsTypeOf(ESock::TSelectionPrefs::TypeId()), EUnexpectedTSelectionPrefsType); + + CMbufGobblerProviderSelector* self = NULL; + self = new(ELeave) CMbufGobblerProviderSelector(aSelectionPreferences); + CleanupStack::PushL(self); + + CommsDat::CMDBSession* dbs = CommsDat::CMDBSession::NewLC(KCDVersion1_2); + + self->iTierRecord = ESock::TierManagerUtils::LoadTierRecordL(TUid::Uid(CMbufGobblerTierManagerFactory::iUid), *dbs); + + ASSERT_DEBUG(static_cast(self->iTierRecord->iDefaultAccessPoint)!=0,EUnexpectedTSelectionPrefsType); + + CleanupStack::Pop(dbs); + CleanupStack::Pop(self); + ASSERT_DEBUG(self->iDbs == NULL, EInvalidNullPtr); + self->iDbs = dbs; + return self; + } + +CMbufGobblerProviderSelector::CMbufGobblerProviderSelector(const Meta::SMetaData& aSelectionPreferences) +: ASimpleSelectorBase(aSelectionPreferences) + { + } + +CMbufGobblerProviderSelector::~CMbufGobblerProviderSelector() + { + } + +void CMbufGobblerProviderSelector::Destroy() + { + delete this; + } + + +/** +Find or create a Mbufgobbler Meta Connection Provider +*/ +ESock::CMetaConnectionProviderBase* CMbufGobblerProviderSelector::FindOrCreateProviderL(TUint aAccessPoint) + { + return ASimpleSelectorBase::FindOrCreateProviderL(aAccessPoint); + } + + +/** +Perform the selection of a Meta Connection Provider +*/ +void CMbufGobblerProviderSelector::SelectL(ESock::ISelectionNotify& aSelectionNotify) + { + ASSERT_DEBUG(iDbs, EInvalidNullPtr); + ASSERT_DEBUG(iTierRecord, EInvalidNullPtr); + TUint32 defaultAccessPoint = iTierRecord->iDefaultAccessPoint; + + //Must be set + User::LeaveIfError(defaultAccessPoint!=0 ? KErrNone : KErrCorrupt); + + // Send select complete with the provider, and the final select complete + aSelectionNotify.SelectComplete(this, FindOrCreateProviderL(defaultAccessPoint)); + aSelectionNotify.SelectComplete(this, NULL); + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnprovider.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,75 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblersubconnprovider.h" +#include "mbufgobblersubconnprovideractivities.h" +#include "mbufgobblerlog.h" +#include "mbufgobblertestflags.h" + +using namespace MbufGobblerSCprActivities; + +_LIT8(KNodeName, "CMbufGobblerSubconnProvider"); + +CMbufGobblerSubconnProvider* CMbufGobblerSubconnProvider::NewL(ESock::CSubConnectionProviderFactoryBase& aFactory) + { + CMbufGobblerSubconnProvider* prov = new (ELeave) CMbufGobblerSubconnProvider(aFactory); + CleanupStack::PushL(prov); + prov->ConstructL(); + CleanupStack::Pop(prov); + return prov; + } + +CMbufGobblerSubconnProvider::CMbufGobblerSubconnProvider(ESock::CSubConnectionProviderFactoryBase& aFactory) +: CCoreSubConnectionProvider(aFactory, MbufGobblerSCprActivities::MbufGobblerSCprActivitiesMap::Self()) + { + MBUFGOBBLER_LOG_NODE_CREATE(KMbufGobblerScprSubTag, CMbufGobblerSubconnProvider, KNodeName, this->NodeId().Ptr()); + } + + + +void CMbufGobblerSubconnProvider::ConstructL() + { + CCoreSubConnectionProvider::ConstructL(); + MBUFGOBBLER_TEST_DATA_INIT + MBUFGOBBLER_TEST_POINT(KSCPrUp,KErrNone) + } + +CMbufGobblerSubconnProvider::~CMbufGobblerSubconnProvider() + { + MBUFGOBBLER_LOG_NODE_DESTROY(KMbufGobblerScprSubTag, CMbufGobblerSubconnProvider, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerSubconnProvider::ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage) + { + LOGMESSAGE(KMbufGobblerScprSubTag, KNodeName, this, aSender, aRecipient, aMessage); + LOG_NODE_INFO(KMbufGobblerScprSubTag, KNodeName, *this, iClientCount); + MeshMachine::TNodeContext ctx(*this, aMessage, aSender, aRecipient); + Received(ctx); + User::LeaveIfError(ctx.iReturn); + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnprovideractivities.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnprovideractivities.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,43 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider Mesh Activities +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblersubconnprovideractivities.h" +#include "mbufgobblerlog.h" + +#include + + + +namespace MbufGobblerSCprActivities +{ +DEFINE_ACTIVITY_MAP(MbufGobblerSCprActivitiesMap) + //no activities defiend here yet. This define is to show where to put activities + //so for now just inherit from core activities +ACTIVITY_MAP_END_BASE(SCprActivities, coreSCprActivities) +} diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnproviderfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnproviderfactory.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,61 @@ +// Copyright (c) 2010 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: +// Sub Connection Provider Factory +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblersubconnproviderfactory.h" +#include "mbufgobblersubconnprovider.h" +#include "mbufgobblerlog.h" + +CMbufGobblerSubconnProviderFactory* CMbufGobblerSubconnProviderFactory::NewL(TAny* aParentContainer) + { + return new (ELeave) CMbufGobblerSubconnProviderFactory(TUid::Uid(CMbufGobblerSubconnProviderFactory::iUid), + *reinterpret_cast(aParentContainer)); + } + +CMbufGobblerSubconnProviderFactory::CMbufGobblerSubconnProviderFactory(TUid aFactoryId, ESock::CSubConnectionFactoryContainer& aParentContainer) + : CSubConnectionProviderFactoryBase(aFactoryId, aParentContainer) + { + } + +ESock::ACommsFactoryNodeId* CMbufGobblerSubconnProviderFactory::DoCreateObjectL(ESock::TFactoryQueryBase& aQuery) + { + const ESock::TDefaultSCPRFactoryQuery& query = static_cast(aQuery); + if (query.iSCPRType == RSubConnection::EAttachToDefault) + { + return CMbufGobblerSubconnProvider::NewL(*this); + } + else if(query.iSCPRType == RSubConnection::ECreateNew) + { + return CMbufGobblerSubconnProvider::NewL(*this); + } + else + { + User::Leave(KErrNotSupported); + } + return NULL; + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnproviderstates.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblersubconnproviderstates.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,62 @@ +// Copyright (c) 2010 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: +// Connection Provider Declaration +// (control plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblersubconnproviderstates.h" +#include "mbufgobblerlog.h" + +CMbufGobblerSubconnMeshStates::CMbufGobblerSubconnMeshStates() + { + // No implementation required + } + +CMbufGobblerSubconnMeshStates::~CMbufGobblerSubconnMeshStates() + { + } + +CMbufGobblerSubconnMeshStates* CMbufGobblerSubconnMeshStates::NewLC() + { + CMbufGobblerSubconnMeshStates* self = + new (ELeave) CMbufGobblerSubconnMeshStates(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CMbufGobblerSubconnMeshStates* CMbufGobblerSubconnMeshStates::NewL() + { + CMbufGobblerSubconnMeshStates* self = + CMbufGobblerSubconnMeshStates::NewLC(); + CleanupStack::Pop(); // self; + return self; + } + +void CMbufGobblerSubconnMeshStates::ConstructL() + { + + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanager.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,87 @@ +// Copyright (c) 2010 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: +// Tier Manager +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblertiermanager.h" +#include "mbufgobblertiermanageractivities.h" +#include "mbufgobblerlog.h" +#include "mbufgobblertestflags.h" + +#include + +#include "mbufgobblerproviderselector.h" + +_LIT8(KNodeName, "CMbufGobblerTierManager"); + +CMbufGobblerTierManager* CMbufGobblerTierManager::NewL(ESock::CTierManagerFactoryBase& aFactory) + { + CMbufGobblerTierManager* self = new (ELeave) CMbufGobblerTierManager(aFactory); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CMbufGobblerTierManager::CMbufGobblerTierManager(ESock::CTierManagerFactoryBase& aFactory) +: CCoreTierManager(aFactory,MbufGobblerTMActivities::MbufGobblerTMActivitiesMap::Self()) + { + MBUFGOBBLER_LOG_NODE_CREATE(KMbufGobblerTierSubTag, CMbufGobblerTierManager, KNodeName, this->NodeId().Ptr()); + } + +void CMbufGobblerTierManager::ConstructL() + { + CCoreTierManager::ConstructL(); + MBUFGOBBLER_TEST_DATA_INIT + MBUFGOBBLER_TEST_POINT(KTierUp,KErrNone) + } + +CMbufGobblerTierManager::~CMbufGobblerTierManager() + { + MBUFGOBBLER_LOG_NODE_DESTROY(KMbufGobblerTierSubTag, CMbufGobblerTierManager, KNodeName, this->NodeId().Ptr()); + } + +ESock::MProviderSelector* CMbufGobblerTierManager::DoCreateProviderSelectorL(const Meta::SMetaData& aSelectionPreferences) + { + return CMbufGobblerProviderSelector::NewL(aSelectionPreferences); + } + +void CMbufGobblerTierManager::ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage) + { + LOGMESSAGE(KMbufGobblerTierSubTag, KNodeName, this, aSender, aRecipient, aMessage); + LOG_NODE_INFO(KMbufGobblerTierSubTag, KNodeName, *this, iClientCount); + MeshMachine::TNodeContext ctx(*this, aMessage, aSender, aRecipient); + CCoreTierManager::Received(ctx); + User::LeaveIfError(ctx.iReturn); + } + + + + + + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanageractivities.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanageractivities.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,47 @@ +// Copyright (c) 2010 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: +// Tier Manager Mesh Activities +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblertiermanageractivities.h" +#include "mbufgobblerlog.h" + +#include +#include + +#include + + + +namespace MbufGobblerTMActivities +{ +DEFINE_ACTIVITY_MAP(MbufGobblerTMActivitiesMap) + //no activities defiend here yet. This define is to show where to put activities + //so for now just inherit from core activities +ACTIVITY_MAP_END_BASE(TMActivities, coreTMActivities) +} + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanagerfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanagerfactory.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,52 @@ +// Copyright (c) 2010 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: +// Tier Manager Factory +// (management plane) +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblertiermanagerfactory.h" +#include "mbufgobblertiermanager.h" +#include "mbufgobblerlog.h" + + + +CMbufGobblerTierManagerFactory* CMbufGobblerTierManagerFactory::NewL(TAny* aParentContainer) + { + return new (ELeave) CMbufGobblerTierManagerFactory(TUid::Uid(CMbufGobblerTierManagerFactory::iUid),TUid::Uid(CMbufGobblerTierManagerFactory::iUid),*(reinterpret_cast(aParentContainer))); + } + +CMbufGobblerTierManagerFactory::CMbufGobblerTierManagerFactory(TUid aTierTypeId, TUid aFactoryUid, ESock::CTierManagerFactoryContainer& aParentContainer) +: CTierManagerFactoryBase(aTierTypeId,aFactoryUid,aParentContainer) + { + } + +ESock::ACommsFactoryNodeId* CMbufGobblerTierManagerFactory::DoCreateObjectL(ESock::TFactoryQueryBase& /* aQuery */) + { + return CMbufGobblerTierManager::NewL(*this); + } + + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanagerstates.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/src/mbufgobblertiermanagerstates.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,63 @@ +// Copyright (c) 2010 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: +// Tier Manager Mesh States +// (management plane) +// +// +// +// This is a 3-plane comms layer implementation example, which has been customised to be a test layer which gobbles and releases ESOCK MBUFs. +// The MBuf gobbling functionality can be disabled by undefining the macro SYMBIAN_COMMSFW_MBUF_GOBBLER which is specified in mbufgobblerproviders.mmp. +// When SYMBIAN_COMMSFW_MBUF_GOBBLER is undefined, the source code specified by mbufgobblerproviders.mmp becomes a pass through layer i.e. it passes the data +// through to the layer above or below without altering it. This makes it useful as a starting point for implementing your own layers / providers; +// useful documentation on how to customise your own passthrough layer can be found in ..\docs\MbufGobblerLayer.doc +// + +/** + @file + @internalComponent +*/ + +#include "mbufgobblertiermanagerstates.h" +#include "mbufgobblerlog.h" + +CMbufGobblerTierManagerMeshStates::CMbufGobblerTierManagerMeshStates() + { + // No implementation required + } + +CMbufGobblerTierManagerMeshStates::~CMbufGobblerTierManagerMeshStates() + { + } + +CMbufGobblerTierManagerMeshStates* CMbufGobblerTierManagerMeshStates::NewLC() + { + CMbufGobblerTierManagerMeshStates* self = + new (ELeave) CMbufGobblerTierManagerMeshStates(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CMbufGobblerTierManagerMeshStates* CMbufGobblerTierManagerMeshStates::NewL() + { + CMbufGobblerTierManagerMeshStates* self = + CMbufGobblerTierManagerMeshStates::NewLC(); + CleanupStack::Pop(); // self; + return self; + } + +void CMbufGobblerTierManagerMeshStates::ConstructL() + { + + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/bld.inf Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,24 @@ +// Copyright (c) 2010 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: +// + +PRJ_TESTEXPORTS +../../data/dummy_static_with_mbufgobbler.cfg z:/testdata/configs/mbufgobbler/dummy_static_with_mbufgobbler.cfg +../scripts/te_mbufgobbler.script z:/testdata/scripts/mbufgobbler/te_mbufgobbler.script + +../group/te_mbufgobbler.iby /epoc32/rom/include/te_mbufgobbler.iby + +PRJ_TESTMMPFILES +te_mbufgobbler.mmp + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/te_mbufgobbler.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/te_mbufgobbler.iby Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,26 @@ +// Copyright (c) 2010 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: +// + +#ifndef __te_mbufgobbler_IBY__ +#define __te_mbufgobbler_IBY__ + +#include "mbufgobblerproviders.iby" + +file=ABI_DIR\DEBUG_DIR\te_mbufgobbler.exe Sys\Bin\te_mbufgobbler.exe + +data=EPOCROOT##epoc32\data\z\testdata\configs\mbufgobbler\dummy_static_with_mbufgobbler.cfg testdata\configs\mbufgobbler\dummy_static_with_mbufgobbler.cfg +data=EPOCROOT##epoc32\data\z\testdata\scripts\mbufgobbler\te_mbufgobbler.script testdata\scripts\mbufgobbler\te_mbufgobbler.script + +#endif diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/te_mbufgobbler.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/group/te_mbufgobbler.mmp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,49 @@ +// Copyright (c) 2010 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: +// Mbufgobbler plugin for TEF. Sends/receives data, and ensures it went through the new layer +// + +TARGET te_mbufgobbler.exe + +// NetworkServices because it's using sockets. +// WriteDeviceData because it needs to define pub/sub properties +// NetworkControl for RConnection::Stop. Remove this (from here and test code) if stop is not required +CAPABILITY NetworkServices WriteDeviceData NetworkControl +TARGETTYPE exe +UID 0x1000007A 0x10272F9D +VENDORID 0x70000001 + +SOURCEPATH ../src +SOURCE te_mbufgobblerserver.cpp +SOURCE te_mbufgobblertest.cpp + + +USERINCLUDE ../inc +USERINCLUDE ../../inc +SYSTEMINCLUDE /epoc32/include +SYSTEMINCLUDE /epoc32/include/test +SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/nkern +SYSTEMINCLUDE /epoc32/include/platform +SYSTEMINCLUDE /epoc32/include/platform/comms-infras + +//LIBRARY estlib.lib +LIBRARY euser.lib +LIBRARY testexecuteutils.lib +LIBRARY testexecutelogclient.lib + +LIBRARY esock.lib +LIBRARY insock.lib + +SMPSAFE diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/inc/te_mbufgobblerserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/inc/te_mbufgobblerserver.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,45 @@ +// Copyright (c) 2010 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: +// Test server +// + +/** + @file + @internalComponent +*/ + +#ifndef __MBUFGOBBLER_SERVER_H__ +#define __MBUFGOBBLER_SERVER_H__ + +#include + +enum + { + KTestWorkerStart = 1, + }; + + +class CMbufGobblerTestServer : public CTestServer + { +public: + typedef CTestServer ParentClass; + static CMbufGobblerTestServer* NewL(); + virtual ~CMbufGobblerTestServer(); + virtual CTestStep* CreateTestStep(const TDesC& aStepName); + }; + + +#endif // __MBUFGOBBLER_SERVER_H__ + + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/inc/te_mbufgobblertest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/inc/te_mbufgobblertest.h Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,38 @@ +// Copyright (c) 2010 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: +// Test steps +// + +/** + @file + @internalComponent +*/ + +#ifndef __MBUFGOBBLER_TEST_H__ +#define __MBUFGOBBLER_TEST_H__ + +#include +#include "te_mbufgobblerserver.h" + +class CMbufGobblerStartupTest : public CTestStep + { +public: + CMbufGobblerStartupTest(CMbufGobblerTestServer* aOwner); + ~CMbufGobblerStartupTest(); + virtual TVerdict doTestStepL(); + }; + +_LIT(KTestMbufGobblerStartupTest,"MbufGobblerStartupTest"); + +#endif // __MBUFGOBBLER_TEST_H__ diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/scripts/te_mbufgobbler.script --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/scripts/te_mbufgobbler.script Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,24 @@ +// Copyright (c) 2005-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: +// + +LOAD_SUITE te_mbufgobbler + +RUN_SCRIPT z:\TestData\scripts\te_esock_test_unloadesockForced.script + +ced -i z:\testdata\configs\mbufgobbler\dummy_static_with_mbufgobbler.cfg + +RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script + +RUN_TEST_STEP 50 te_mbufgobbler MbufGobblerStartupTest + +RUN_SCRIPT z:\TestData\scripts\te_esock_test_unloadesockForced.script diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/src/te_mbufgobblerserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/src/te_mbufgobblerserver.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,117 @@ +// Copyright (c) 2010 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: +// Test server +// + +/** + @file + @internalComponent +*/ + + +#include +#include "te_mbufgobblerserver.h" +#include "te_mbufgobblertest.h" + +_LIT(KServerName,"te_mbufgobbler"); + +CMbufGobblerTestServer* CMbufGobblerTestServer::NewL() +/** + * @return - Instance of the test server + * Called inside the MainL() function to create and start the + * CTestServer derived server. + */ + { + CMbufGobblerTestServer * server = new (ELeave) CMbufGobblerTestServer(); + CleanupStack::PushL(server); + + // Either use a StartL or ConstructL, the latter will permit + // Server Logging. + + //server->StartL(KServerName); + server->ConstructL(KServerName); // from CTestBase + + CleanupStack::Pop(server); + return server; + } + + +/*virtual*/ CMbufGobblerTestServer::~CMbufGobblerTestServer() + { + } + + +// EKA2 much simpler +// Just an E32Main and a MainL() +LOCAL_C void MainL() +/** + * Much simpler, uses the new Rendezvous() call to sync with the client + */ + { + // Leave the hooks in for platform security +#if (defined __DATA_CAGING__) + RProcess().DataCaging(RProcess::EDataCagingOn); + RProcess().SecureApi(RProcess::ESecureApiOn); +#endif + CActiveScheduler* sched=NULL; + sched=new(ELeave) CActiveScheduler; + CActiveScheduler::Install(sched); + CMbufGobblerTestServer* server = NULL; + // Create the CTestServer derived server + TRAPD(err,server = CMbufGobblerTestServer::NewL()); + if (!err) + { + // Sync with the client and enter the active scheduler + RProcess::Rendezvous(KErrNone); + sched->Start(); + } + delete server; + delete sched; + } + +// Only a DLL on emulator for typhoon and earlier + +GLDEF_C TInt E32Main() +/** + * @return - Standard Epoc error code on exit + */ + { + CTrapCleanup* cleanup = CTrapCleanup::New(); + if (cleanup == NULL) + { + return KErrNoMemory; + } + TRAP_IGNORE(MainL()); + delete cleanup; + return KErrNone; + } + +// Create a thread in the calling process +// Emulator typhoon and earlier + +CTestStep* CMbufGobblerTestServer::CreateTestStep(const TDesC& aStepName) +/** + * @return - A CTestStep derived instance + * Implementation of CTestServer pure virtual + */ + { + CTestStep* testStep = NULL; + + if (aStepName == KTestMbufGobblerStartupTest) + testStep = new CMbufGobblerStartupTest(this); +// else if (aStepName == (other step name) +// testStep = new (other test step class) + + return testStep; + } diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/src/te_mbufgobblertest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/te_mbufgobbler/src/te_mbufgobblertest.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,126 @@ +// Copyright (c) 2010 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: +// Test steps +// + +/** + @file + @internalComponent +*/ + + +#include +#include +//#include +#include +#include +#include "te_mbufgobblertest.h" +#include "mbufgobblertestflags.h" + + +CMbufGobblerStartupTest::CMbufGobblerStartupTest(CMbufGobblerTestServer* /*aOwner*/) + { + SetTestStepName(KTestMbufGobblerStartupTest); + } + +CMbufGobblerStartupTest::~CMbufGobblerStartupTest() + { + } + +TVerdict CMbufGobblerStartupTest::doTestStepL() + { +#ifdef _DEBUG + SetTestStepResult( EFail ); + + User::LeaveIfError(MbufGobblerTestFlags::ActivateTestFlags()); + + INFO_PRINTF1(_L(" .. opening socket server..")); + RSocketServ sockServ; + User::LeaveIfError(sockServ.Connect()); + CleanupClosePushL(sockServ); + + INFO_PRINTF1(_L(" .. opening connection..")); + RConnection conn; + User::LeaveIfError(conn.Open(sockServ)); + CleanupClosePushL(conn); + User::LeaveIfError(conn.Start()); // start default connection (defined in commsdat) + + INFO_PRINTF1(_L("Checking Tier up..")); + TInt result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KTierUp); + User::LeaveIfError(result); + INFO_PRINTF2(_L("Tier started ok [%d]."),result); + + INFO_PRINTF1(_L("Checking MCPr up..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KMCPrUp); + User::LeaveIfError(result); + INFO_PRINTF2(_L("MCPr started ok [%d]."),result); + + INFO_PRINTF1(_L("Checking CPr up..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KCPrUp); + User::LeaveIfError(result); + INFO_PRINTF2(_L("CPr started ok [%d]."),result); + + INFO_PRINTF1(_L("Checking SCPr up..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KSCPrUp); + User::LeaveIfError(result); + INFO_PRINTF2(_L("SCPr started ok [%d]."),result); + + INFO_PRINTF1(_L("Checking Binder up..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBind); + User::LeaveIfError(result); + INFO_PRINTF2(_L("Binder up ok [%d]."),result); + + INFO_PRINTF1(_L(" .. opening socket..")); + RSocket sock; + User::LeaveIfError(sock.Open(sockServ,KAfInet,KSockDatagram,KProtocolInetUdp,conn)); + CleanupClosePushL(sock); + + INFO_PRINTF1(_L(" .. sending a packet..")); + TBuf8<128> pkt; + pkt.SetLength(128); + TInetAddr dest; + dest.Input(_L("11.22.33.44")); + dest.SetPort(100); + TRequestStatus status; + sock.SendTo(pkt,dest,0,status); + User::WaitForRequest(status); + User::LeaveIfError(status.Int()); + + INFO_PRINTF1(_L("Checking Send occurred..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBinderSend); + User::LeaveIfError(result); + INFO_PRINTF2(_L("Send occurred ok [%d]."),result); + + INFO_PRINTF1(_L("Checking Receive occurred..")); + result = MbufGobblerTestFlags::GetResult(MbufGobblerTestFlags::KBinderReceive); + User::LeaveIfError(result); + INFO_PRINTF2(_L("Receive occurred ok [%d]."),result); + + // Remove this call if its high capability requirement is a problem + INFO_PRINTF1(_L(" .. stopping connection..")); + User::LeaveIfError(conn.Stop()); + + CleanupStack::Pop(); // RSocket close + CleanupStack::Pop(); // RConnection close + CleanupStack::Pop(); // RSocketServ close + + // return success / failure + SetTestStepResult( EPass ); +#else // _DEBUG + SetTestStepResult( EPass ); + INFO_PRINTF1(_L(" .. results for this component only useful in UDEB mode.")); +#endif + return TestStepResult(); + } + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.ini Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,36 @@ +[Name] +# N.B. This must be capitalised correctly as you wish it to appear in the class names. +Search=MbufGobbler +Replace=CHANGEME + + +# Uids to replace follow. +# Don't include the leading 0x (because we need to search and replace on resource filename). +[DLL UId] +Search=10272F97 +Replace=CHANGEME + +[Tier Impl UId] +Search=10272F98 +Replace=CHANGEME + +[MCPr Impl UId] +Search=10272F99 +Replace=CHANGEME + +[CPr Impl UId] +Search=10272F9A +Replace=CHANGEME + +[SCPr Impl UId] +Search=10272F9B +Replace=CHANGEME + +[Flow Impl UId] +Search=10272F9C +Replace=CHANGEME + +[Test Plug-in UId + Test pub/sub UId] +Search=10272F9D +Replace=CHANGEME + diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.py Thu Sep 23 10:22:55 2010 +0100 @@ -0,0 +1,181 @@ +import ConfigParser +##import io +import sys +import os +import re +import string +import shutil + +active=1 +iniFileName='updatecontentandfilenames.ini' + +def AddSearchReplacePair(src,dst): + print "Will replace\t"+src+" with\t"+dst + search_replace[src] = dst + +def DieAndWait(string): + print string + sys.exit() + +def TranslateString(string): +# out = string +# print "\ntranslating: "+string + for src in search_replace.keys(): + dest = search_replace[src] +# print "src: "+src+" dest: "+dest + string = string.replace(src,dest) +# print "out: "+out + return string + + +def RenameIfNecessary(root,file): + thisdest = TranslateString(file) + if(thisdest != file): + print "Renaming ["+file+"] to ["+thisdest+"]" + if active: + os.rename(os.path.join(root,file),os.path.join(root,thisdest)) + +def CorrectFile(file): + # ini file is special + if(file.upper() == iniFileName.upper()): + CorrectIniFile(file) + else: + if(FileContainsSrc(file)): + print "Modifying ["+file+"]" + TranslateFile(file); + +def FileContainsSrc(file): +# print "looking in ["+file+"]" + f = open(file) + found = 0 + for line in f: +# print "[[["+line + for src in search_replace.keys(): + if(-1 != string.find(line,src)): + found = 1 +# print "\n'"+src+"' found in "+line+".. so.." + break + if(found): + break + f.close() + return found + +def TranslateFile(file): + if (active == 0): + return + shutil.copyfile(file,file+".bak") + i = open(file+".bak") + o = open(file,"w+") + for line in i: + out=TranslateString(line) + o.write(out) + i.close() + o.close() + +def CorrectIniFile(file): + if (active == 0): + return + print "Correcting ini file "+file+" .." + shutil.copyfile(file,file+".bak") + i = open(file+".bak") + o = open(file,"w+") + searchfield='' + for line in i: + ms=re.match('^\s*Search\s*=\s*(.+)',line,flags=re.IGNORECASE) + mr=re.match('^\s*Replace\s*=\s*(.+)',line,flags=re.IGNORECASE) + if(ms): + if(searchfield != ''): + print "Multiple search sections found before a replace. fix config file manually" + sys.exit() + searchfield = ms.group(1) + elif(mr): + if(searchfield == ''): + print "Replace section found before search section. fix config file manually" + sys.exit() + o.write("Search="+mr.group(1)+"\nReplace=CHANGEME\n") + searchfield='' + else: + o.write(line) + i.close() + o.close() + + + + +config = ConfigParser.ConfigParser() +config.readfp(open(iniFileName)) + +print "1. Figuring out search/replace pairs.." + +search_replace = {} # empty map + +for section in config.sections(): + src = config.get(section,'Search') + if(src == ""): + DieAndWait("Error in ini file section '"+section+"': Must specify Search field") + if(src in search_replace): + DieAndWait("Error in ini file section '"+section+"': Search field '"+src+"' specified more than once") + dest = config.get(section,'Replace') + if(dest == ""): + DieAndWait("Error in ini file section '"+section+"': Must specify Replace field") + if(dest == "CHANGEME"): + DieAndWait("Error in ini file section '"+section+"': Must specify value to replace '"+src+"' with") + + AddSearchReplacePair(src,dest) + + # deal with upper / lower case variants + ucsrc = src.upper() + lcsrc = src.lower() + lcapsrc = ucsrc[:1]+lcsrc[1:] + ucdest = dest.upper() + lcdest = dest.lower() + lcapdest = ucdest[:1]+lcdest[1:] + + if(ucsrc != src): + AddSearchReplacePair(ucsrc,ucdest) + if(lcsrc != src): + AddSearchReplacePair(lcsrc,lcdest) + if(lcapsrc != src and lcapsrc != lcsrc): + AddSearchReplacePair(lcapsrc,lcapdest) + +print "-----" +print "2. Scanning for read-only files.." + +readOnlyFiles=0; +for root, dirs, files in os.walk("",topdown=False): + for file in files: +# print "Testing readable : "+root+file + try: + fh = open(os.path.join(root,file),"a+") + fh.close() + except: + print "Read-only file detected: "+os.path.join(root,file) + readOnlyFiles=1 + +if(readOnlyFiles): + print "Can't operate with read-only files present." + sys.exit() +else: + print "No read-only files present. Proceeding to search/replace.." + + +print "-----" +print "3. Renaming files and folders.." + +for root, dirs, files in os.walk("",topdown=False): +# print "ROOT: "+root + for dir in dirs: + RenameIfNecessary(root,dir) + for file in files: + RenameIfNecessary(root,file) + + +print "-----" +print "4. Search/replacing in files.." + +for root, dirs, files in os.walk("",topdown=False): + for file in files: + CorrectFile(os.path.join(root,file)) + +print "-----" +print "Done." diff -r c9776eadbffd -r dd4909eb54cd commsfwutils/commsbufs/mbufmgr/src/mb_chn.cpp --- a/commsfwutils/commsbufs/mbufmgr/src/mb_chn.cpp Mon Sep 13 15:06:46 2010 +0100 +++ b/commsfwutils/commsbufs/mbufmgr/src/mb_chn.cpp Thu Sep 23 10:22:55 2010 +0100 @@ -575,8 +575,8 @@ #endif TInt splitBufOffset; TInt splitBufRemainder; - RMBuf* splitBuf; - RMBuf* splitBufPrev; + RMBuf* splitBuf = NULL; + RMBuf* splitBufPrev = NULL; if(!Goto(aOffset, splitBuf, splitBufOffset, splitBufRemainder, splitBufPrev)) { diff -r c9776eadbffd -r dd4909eb54cd commsprocess/commsrootserverconfig/doc_pub/Comms Process Startup-Config Design Document.doc Binary file commsprocess/commsrootserverconfig/doc_pub/Comms Process Startup-Config Design Document.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsprocess/commsrootserverconfig/doc_pub/Root Server API Reference.doc Binary file commsprocess/commsrootserverconfig/doc_pub/Root Server API Reference.doc has changed diff -r c9776eadbffd -r dd4909eb54cd commsprocess/commsrootserverconfig/doc_pub/Root Server Design Document.doc Binary file commsprocess/commsrootserverconfig/doc_pub/Root Server Design Document.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/Design for Flexible Comms Stack.doc Binary file datacommsserver/esockserver/doc_pub/Design for Flexible Comms Stack.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/ESock_Design.doc Binary file datacommsserver/esockserver/doc_pub/ESock_Design.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/ESock_HowTo.doc Binary file datacommsserver/esockserver/doc_pub/ESock_HowTo.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/HOWTO install an esock protocol after market.doc Binary file datacommsserver/esockserver/doc_pub/HOWTO install an esock protocol after market.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/NonSeamlessBearerMobility_ClientSideAPIs.doc Binary file datacommsserver/esockserver/doc_pub/NonSeamlessBearerMobility_ClientSideAPIs.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/NonSeamlessBearerMobility_ServerSideAPIs.doc Binary file datacommsserver/esockserver/doc_pub/NonSeamlessBearerMobility_ServerSideAPIs.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/RConnection API for Connection Management.doc Binary file datacommsserver/esockserver/doc_pub/RConnection API for Connection Management.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/RConnection_API.doc Binary file datacommsserver/esockserver/doc_pub/RConnection_API.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/doc_pub/RSubConnection_API.doc Binary file datacommsserver/esockserver/doc_pub/RSubConnection_API.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/inc/es_availability.h --- a/datacommsserver/esockserver/inc/es_availability.h Mon Sep 13 15:06:46 2010 +0100 +++ b/datacommsserver/esockserver/inc/es_availability.h Thu Sep 23 10:22:55 2010 +0100 @@ -120,11 +120,11 @@ TUint aScoreDropsBelow = 0, TUint aScoreIncreasesByMoreThan = 0, TUint aScoreDecreasesByMoreThan = 0) - : iFlags(aAnyChange? EAnyChange : ENotAnyChange), - iScoreExceeds(aScoreExceeds), + : iScoreExceeds(aScoreExceeds), iScoreDropsBelow(aScoreDropsBelow), iScoreIncreasesByMoreThan(aScoreIncreasesByMoreThan), - iScoreDecreasesByMoreThan(aScoreDecreasesByMoreThan) + iScoreDecreasesByMoreThan(aScoreDecreasesByMoreThan), + iFlags(aAnyChange? EAnyChange : ENotAnyChange) { __ASSERT_DEBUG(aScoreExceeds >= TAvailabilityStatus::EMinAvailabilityScore && aScoreExceeds <= TAvailabilityStatus::EMaxAvailabilityScore, User::Panic(KSpecAssert_ESock_Availabili, 2)); __ASSERT_DEBUG(aScoreDropsBelow >= TAvailabilityStatus::EMinAvailabilityScore && aScoreDropsBelow <= TAvailabilityStatus::EMaxAvailabilityScore, User::Panic(KSpecAssert_ESock_Availabili, 3)); @@ -139,11 +139,11 @@ @see TChangeScopeFlags. */ TAvailabilitySubscriptionOptions(TChangeScopeFlags aFlags) - : iFlags(aFlags), - iScoreExceeds(0), + : iScoreExceeds(0), iScoreDropsBelow(0), iScoreIncreasesByMoreThan(0), - iScoreDecreasesByMoreThan(0) + iScoreDecreasesByMoreThan(0), + iFlags(aFlags) { ASSERT(aFlags != ENotAnyChange); //illegal to ask for thersholds without specifying them. } diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_ESock/scriptfiles/te_esock_wlan.xml --- a/datacommsserver/esockserver/test/TE_ESock/scriptfiles/te_esock_wlan.xml Mon Sep 13 15:06:46 2010 +0100 +++ b/datacommsserver/esockserver/test/TE_ESock/scriptfiles/te_esock_wlan.xml Thu Sep 23 10:22:55 2010 +0100 @@ -734,8 +734,8 @@ 0.0.0.0 TRUE 0.0.0.0 - FALSE - 10.29.23.7 + TRUE + 0.0.0.0 0.0.0.0 TRUE 0:0:0:0:0:0:0:0 @@ -751,9 +751,9 @@ 194.72.6.1 192.168.0.100 TRUE - FALSE - 194.72.6.51 - 194.72.6.52 + TRUE + 0.0.0.0 + 0.0.0.0 Ethernet (IPv6 static DNS) diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_EsockTestSteps/doc_pub/TE_EsockTestSteps_Test Specification.doc Binary file datacommsserver/esockserver/test/TE_EsockTestSteps/doc_pub/TE_EsockTestSteps_Test Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RConnection/doc_pub/GT0429 - PDP Contention Management Test Specification.doc Binary file datacommsserver/esockserver/test/TE_RConnection/doc_pub/GT0429 - PDP Contention Management Test Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RConnection/doc_pub/SGL.GT0253.202 Non-Seamless Bearer Mobility - Test Spec.doc Binary file datacommsserver/esockserver/test/TE_RConnection/doc_pub/SGL.GT0253.202 Non-Seamless Bearer Mobility - Test Spec.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RConnection/doc_pub/SGL.GT0253.220 Data Monitoring - Test Specification.doc Binary file datacommsserver/esockserver/test/TE_RConnection/doc_pub/SGL.GT0253.220 Data Monitoring - Test Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RConnection/doc_pub/TE_RConnection_Test_Specification.doc Binary file datacommsserver/esockserver/test/TE_RConnection/doc_pub/TE_RConnection_Test_Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RConnectionServ/doc_pub/RConnectionServ API test specification.doc Binary file datacommsserver/esockserver/test/TE_RConnectionServ/doc_pub/RConnectionServ API test specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd datacommsserver/esockserver/test/TE_RSubconnection/doc_pub/TE_RSubConnection_Test_Specification.doc Binary file datacommsserver/esockserver/test/TE_RSubconnection/doc_pub/TE_RSubConnection_Test_Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_How_to_test.doc Binary file serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_How_to_test.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_Test_Specification.doc Binary file serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_Test_Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_Unit_Test_Specification.doc Binary file serialserver/c32serialserver/Test/TE_C32/doc_pub/C32_Unit_Test_Specification.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/Test/te_C32Performance/doc_pub/C32 Performance Test Design.doc Binary file serialserver/c32serialserver/Test/te_C32Performance/doc_pub/C32 Performance Test Design.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/doc_pub/C32API.doc Binary file serialserver/c32serialserver/doc_pub/C32API.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/doc_pub/C32_Design_Document.doc Binary file serialserver/c32serialserver/doc_pub/C32_Design_Document.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/doc_pub/C32_Design_Document_v1.doc Binary file serialserver/c32serialserver/doc_pub/C32_Design_Document_v1.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/doc_pub/C32_Heap_Check_Migration.doc Binary file serialserver/c32serialserver/doc_pub/C32_Heap_Check_Migration.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/doc_pub/How_To_configure_C32.doc Binary file serialserver/c32serialserver/doc_pub/How_To_configure_C32.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/group/bld.inf --- a/serialserver/c32serialserver/group/bld.inf Mon Sep 13 15:06:46 2010 +0100 +++ b/serialserver/c32serialserver/group/bld.inf Thu Sep 23 10:22:55 2010 +0100 @@ -35,7 +35,7 @@ c32.iby /epoc32/rom/include/c32.iby -../documentation/C32API.doc /epoc32/engdoc/c32/c32api.doc +../doc_pub/C32API.doc /epoc32/engdoc/c32/c32api.doc PRJ_TESTEXPORTS diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserver/group/ser-comms_c32.mrp --- a/serialserver/c32serialserver/group/ser-comms_c32.mrp Mon Sep 13 15:06:46 2010 +0100 +++ b/serialserver/c32serialserver/group/ser-comms_c32.mrp Thu Sep 23 10:22:55 2010 +0100 @@ -1,7 +1,7 @@ component ser-comms_c32 source \sf\os\commsfw\serialserver\c32serialserver\bwins source \sf\os\commsfw\serialserver\c32serialserver\CCOMM -source \sf\os\commsfw\serialserver\c32serialserver\documentation +source \sf\os\commsfw\serialserver\c32serialserver\doc_pub source \sf\os\commsfw\serialserver\c32serialserver\eabi source \sf\os\commsfw\serialserver\c32serialserver\group source \sf\os\commsfw\serialserver\c32serialserver\INC @@ -12,7 +12,7 @@ exports \sf\os\commsfw\serialserver\c32serialserver\group --export_file \sf\os\commsfw\serialserver\c32serialserver\documentation\C32API.doc \epoc32\engdoc\c32\C32API.doc +-export_file \sf\os\commsfw\serialserver\c32serialserver\doc_pub\C32API.doc \epoc32\engdoc\c32\C32API.doc notes_source \component_defs\release.src diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserverdocs/doc_pub/SerComms_Subsystem_Architectural_Description.doc Binary file serialserver/c32serialserverdocs/doc_pub/SerComms_Subsystem_Architectural_Description.doc has changed diff -r c9776eadbffd -r dd4909eb54cd serialserver/c32serialserverdocs/doc_pub/SerComms_Subsystem_Functional_Specification.doc Binary file serialserver/c32serialserverdocs/doc_pub/SerComms_Subsystem_Functional_Specification.doc has changed