Zousar Shaker <shakerz@xxxxxxx> wrote: > >Hello, > > First of all, just want to say that the progress on BParameterGroup and >BParameterWeb is going well, and they should be done this weekend. > > The only thing that is still troubling me is the >BParameter::Get/SetValue methods. I've got a much better grasp on them now, "These calls simply dispatch to the BControllable::GetControlValue() and BControllable::SetControlValue() functions." So you will need to dispatch them using the BParameterWeb * mWeb member variable,, and using the BParameterWeb mNode varibale, but then you probably need to call a internel media_server method that is currently not available, since the BControllable class is not implemented. So simply stop there, insert a comment like /* * XXX invoke BControllable::GetControlValue() here. */ this can be done by writing a secret message to the nodes port, like BBufferConsumer::NotifyLateProducer() does it. But don't worry about it yet. >but one detail remains... The situation boils down to the fact that i've >got a "media_node" object which I want to test to see if it's a >BControllable type node (done with the following code according to Be >That's all well and good. Now I can tell if it is of BControllable type, >but the question is, how do I get a 'BControllable *' or even 'BMediaNode *' >out of my 'media_node' object (because i want to call >'BControllable::Set/GetParameterValue' methods)? I understand the You can get this using MediaRoster and much dynamic_cast<> operators, but you would have to create another instance of the node. Remember, we are implementing the operating system level functions here, so you need to send a message to the real object (see above). That's not implemented yet. Just stop there for now! >'BMediaNode' object... but I don't see any way of getting to >'BControllable::Set/GetParameterValue' given a 'media_node'... Maybe Marcus >might have some insight on this, as he has implemented the BMediaNode class. Yes, there is no way, since it's normally done by the operating system, so that the user doesn't have to worry about this. But we are implementing the OS :) >Also, as a final note, I want to mention that it seems as though I'll be >returning to work some time next week, so I will likely have less time (but >not none) in the future to work on the project. Thats no problem, but please submit your sourcecode, so that others like me can continue to implement the missing functionality. This is a group project, don't keep the sourcecode because it's incomplete. Everyone should be able to see and improve it. regards Marcus