[Ns-developers] Problems with ObjectFactory

Mathieu Lacage mathieu.lacage at sophia.inria.fr
Fri Mar 6 00:00:34 PST 2009


On Fri, 2009-03-06 at 00:07 +0100, Mirko Banchi wrote:
> Hi all,
> 
> i have some problems with ObjectFactory. I'm using it in a new Helper
> class to set a MSDU aggregator:
> 
> MsduAggregatorHelper::SetAggregatorType (std::string aggregatorType, ...)
> {
>   ...
>   m_aggregator.SetTypeId (aggregatorType);
>   ...
> }
> 
> MsduAggregatorHelper::Install (...)
> {
>   ...
> 
>   Ptr<MsduAggregator> aggregator = m_aggregator.Create<MsduAggregator> ();
>   ...
> 
> }
> 
> If i try to use this helper from a script an error occurs:
> 
> Requested constructor for ns3::Node but it does not have one.
> 
> The error is originated in IidManager::GetConstructor () method.
> 
> I have verified that
> 
> m_aggregator.SetTypeId ("ns3::MsduStandardAggregator");
> 
> doens't fail. The method ObjectFactory::Create instead fails.
> 
> That's strange...even if i call ObjectFactory::SetTypeId () with
> "ns3::MsduStandardAggregator" as parameter, it's looking for a
> constructor for ns3::Node.
> 
> Any idea?

yes, it's an easy one :) 

You need to add a call to AddConstructor<MsgStandardAggregator> () in
MsduStandardAggregator::GetTypeId

> 
> Thanks,
> Mirko
> 



More information about the Ns-developers mailing list