On Thu, Jan 29, 2009 at 02:29:45PM -0500, Anurag S. Maskey wrote:
> I think this is a typo in the door fuction nwamd.  I want to confirm 
> that I'm not missing anything.
> 
> nwam_*_enable() calls nwam_action() with NWAM_REQUEST_TYPE_*_ACTION.   
> This command is then passed to the door function door_switch() in 
> nwamd.  door_switch() on the other hand is checking for 
> NWAM_EVENT_TYPE_*, which I am guessing is a typo and should be 
> NWAM_REQUEST_TYPE_*, right?

Hmm.  We seem to have two different namespaces, probably the result of
work being done at two different points in time, possibly by two different
people!  I think the different names are more than just typos; we need
to figure out how this interface is really being used and make sure it
works properly.

libnwam.h (the public header for the library) has a list of "Event
notification definitions", which are of the form NWAM_EVENT_TYPE_<foo>.
One of these is the NWAM_EVENT_TYPE_ENM_ACTION which is handled by the
door server in nwamd (implemented in the door_switch() function).  But
there aren't any corresponding event types for Locs or NCPs, as you
point out.

libnwam_impl.h (the private header for the library) includes an
nwam_request_type_t enum, which covers the NWAM_REQUEST_TYPE_<foo>
definitions.  This one does include ENM_ACTION, LOC_ACTION, and
NCP_ACTION defs.

It seems to me that the door interface is being used in two ways:

* Making (likely synchronous) queries of nwamd about the current
  state (what's the active ncp?  is enm foo active?), or to request
  that nwamd do things (such as activating a particular location).

* Asking for (and later receiving?) notifications of various events.

I suspect the NWAM_REQUEST_TYPE_<foo> definitions were introduced by
someone working on the former, while the NWAM_EVENT_TYPE_<foo> defs
were introduced by someone working on the latter.

This conflict obviously needs to be resolved.  Alan and Michael, the
two of you have done the most work in libnwam and nwamd; do you have
input on this?

-renee

Reply via email to