Hey camz,
I’m doing it. I’ve even created a c++ class to make the resmgr stuff a bit
easier to use, handling the specifics of names for dir inquiries etc.
Thanks for the offer though I appreciate your help. I’m not giving up on
it, just voicing my current thoughts and thinking etc. I’m still pluggin
away at it and I’m sure I’ll cross that line soon. I mean, if I can learn
to love M$ COM and COM+, then I’m sure I’ll learn to love this as well
(Look guys, don’t start a thread on COM/COM+ ok? (you can resist the
urge:) )
See ya,
Kevin
<camz@passageway.com> wrote in message news:aeosmo$4dg$1@inn.qnx.com…
Kevin Stallard <> kevin@ffflyingrobots.com> > wrote:
Device drivers are fine, ones that support streams (serial ports, etc),
but
using them as a server that provides some service, is requiring that I
twist
the meaning of read and write some…I’m still trying to get used to it.
(dev_ctrl() isn’t all that attractive of an option sometimes).Kevin, I had this same concern when initially using QNX6 after coming from
the QNX4 world things seemed pretty simple with the whole skeleton like
this:name_attach();
for(;{
pid = Receive(0, … );
switch() {
case:
case:
…
}
Reply( pid, … );
}At first the QNX6 resmgr certainly looks like massive overkill, not to
mention that it doesn’t intuitively appear to even allow for the switch()
type of processing. In reality, there IS a way to do this, complete
with the entire switch()/case processing. There is another way too that
allows you to implement this without the switch()/case and using the
call-back method for each “case”. You can even mix both of these if you
like. Neither of these require that you try to use the read/write streams
at all, the default handlers take care of that for you, effectively making
them behave like /dev/null.This actually makes the QNX6 model much more powerful for more or less
the same “price”. You can start off with the QNX4 “traditional” method
of using private messages, and transition to the resmgr method of using
devctl(), you can even support both simultaneously.I will admit this was a BIG barrier for me. It was a huge mental leap
from the QNX4 S/R/R “simple” model to the (seemingly) more complex QNX6
resmgr model. I have to thank Chris McKillop for walking me gently
through the transition on IRC.If you want some help in how to do the more traditional switch()/case
thing in QNX6, let me know and I can dig up my test code to help you
through it as well.Cheers,
Camz.