Hi Andrew, > On Tue, 2009-05-05 at 18:01 -0400, Steve Huston wrote: > > I've been working on building the ACL plugin on Windows. The plugin > > links against the broker library to pick up the qmf-gen-generated > > ACL-related classes/events. This is failing on Windows because the > > qmf-gen stuff isn't inserting export directives. > > > > Much more than just the ACL stuff gets generated with the same > > templates, so I'm wondering if there's a better way to fix the build > > than by exporting lots of things that aren't needed. > > > > One idea I had was to add a property to the xml file that > says "export > > this". Is this a sane thing to do? Is the xml file's schema > defined as > > an industry format that's not changeable? > > > > Any other ideas? It won't really hurt anything to export all the > > symbols (that's effectively what's done on Linux/gcc), but > seems like > > killing a fly with a bazooka. > > I think that probably the correct way to do this is for the broker to > export some object via something like getBlah() which exposes the > managment interface used by the acl plugin. > > I think it's a better architecture for a plugin to request it's target > for more or less all things it needs to plug into.
Right. That's quite a job in this case, though. More than I have available time to tackle. > I'm not sure if the generated header are set up to make this > possible or > not so I can't say if this is actually feasible in the short term > though. Part could be. For example, the ACL plugin creates a QMF-scoped Acl object. This could probably be obtained using a factory in the broker with a common interface. However, the ACL plugin code raises events, and each call to raiseEvent creates a separately typed object and the constructors for all those must be exported from the broker lib for this to work. Changing the way the events work would be a large part of this if some other scheme were to be implemented. Also, to keep track of further discussion of this area I created QPID-1842. Thanks, -Steve --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org