datacommsserver/esockserver/ssock/ss_nodemessages.cpp
changeset 25 e53adc4c49de
parent 0 dfb7c4ff071f
--- a/datacommsserver/esockserver/ssock/ss_nodemessages.cpp	Fri Apr 16 16:15:03 2010 +0300
+++ b/datacommsserver/esockserver/ssock/ss_nodemessages.cpp	Mon May 03 13:39:24 2010 +0300
@@ -134,6 +134,7 @@
 	EDefaultSCPRFactoryQuery		=1010,
 	EDefaultFlowFactoryQuery		=1011,
 	EDefaultProtocolIntfFactoryQuery =1012,	
+	ETierTypeIdFactoryQuery     =1013,
 	};
 
 //no need to serialise return value
@@ -263,6 +264,10 @@
 	REGISTER_ATTRIBUTE(TMetaConnectionFactoryQuery, iTierImplUid, TMeta<TUint>)  
 END_ATTRIBUTE_TABLE()
 
+EXPORT_START_ATTRIBUTE_TABLE_AND_FN(TTierTypeIdFactoryQuery, KESockInternalMessagesImplementationUid, ETierTypeIdFactoryQuery)  
+    REGISTER_ATTRIBUTE(TTierTypeIdFactoryQuery, iTierTypeId, TMeta<TUint>)  
+END_ATTRIBUTE_TABLE()
+
 EXPORT_START_ATTRIBUTE_TABLE_AND_FN(TDefaultConnectionFactoryQuery, KESockInternalMessagesImplementationUid, EDefaultConnectionFactoryQuery)	
 	REGISTER_ATTRIBUTE(TDefaultConnectionFactoryQuery, iMCprId, TMeta<TNodeId>)	
 END_ATTRIBUTE_TABLE()
@@ -330,6 +335,7 @@
 DEFINE_MVIP_CTR(TDefaultSCPRFactoryQuery)
 DEFINE_MVIP_CTR(TDefaultFlowFactoryQuery)
 DEFINE_MVIP_CTR(TDefaultProtocolIntfFactoryQuery)
+DEFINE_MVIP_CTR(TTierTypeIdFactoryQuery)
 
 
 const TImplementationProxy SignatureImplementationTable[] =
@@ -373,6 +379,7 @@
 	MVIP_CTR_ENTRY(EDefaultSCPRFactoryQuery, TDefaultSCPRFactoryQuery), //1008	
 	MVIP_CTR_ENTRY(EDefaultFlowFactoryQuery, TDefaultFlowFactoryQuery),
 	MVIP_CTR_ENTRY(EDefaultProtocolIntfFactoryQuery, TDefaultProtocolIntfFactoryQuery),	
+	MVIP_CTR_ENTRY(ETierTypeIdFactoryQuery, TTierTypeIdFactoryQuery), //1013
 	};
 
 
@@ -641,6 +648,23 @@
 	return prov->ProviderInfo() == iProviderInfo? MFactoryQuery::EMatch : MFactoryQuery::EContinue;		
 	}
 
+EXPORT_C TTierTypeIdFactoryQuery::TTierTypeIdFactoryQuery()
+    {
+        
+    }
+
+EXPORT_C TTierTypeIdFactoryQuery::TTierTypeIdFactoryQuery(const TUid aTierTypeId)
+: iTierTypeId(aTierTypeId)
+    {
+    
+    }
+    
+EXPORT_C MFactoryQuery::TMatchResult TTierTypeIdFactoryQuery::Match(Factories::TFactoryObjectInfo& aFactoryObjectInfo)
+    {
+    CTierManagerBase* prov = static_cast<CTierManagerBase*>(aFactoryObjectInfo.iInfo.iFactoryObject);
+    return prov->TierId() == iTierTypeId ? MFactoryQuery::EMatch : MFactoryQuery::EContinue;     
+    }
+
 EXPORT_C TDefaultConnectionFactoryQuery::TDefaultConnectionFactoryQuery(const Messages::TNodeId& aMCprId)
 : iMCprId(aMCprId)
 	{