Hi all, I am in the process of integrating Cairngorm in a modular application. The modular app is composed of one shell and several modules.
I would like that one module can send a message to another module via the shell. How to do that? 1. In each module, I define a front controller which will treat the events relative to the module. Ex: In module A: event types: A1,A2,A3 In module B: event types: B1,B2,B3 In module C... 2. In the shell, I define a front controller which will treat the events relative to the inter-module communication. Ex: In shell: event types: A.A1,B.B2 i.e. the event A1 from module A can be dispatched from outside module A (module B or module C can dispatch the event A.A1) i.e. the event B2 from module B can be dispatched from outside module B (module A or module C can dispatch the event B.B2) Since A2,A3,B1 and B3 are not initialised in the shell controller, they cannot be dispatched from outside their own module. 3. When the event A1 is dispatched from module A, the front controller of module A will do the job; that's the usual case. 4. When the event A.A1 is dispatched from module B, the shell controller will do the job; there is an unique command in the shell controller (ShellCommand) which dispatch a new event with type A1. Then, the front controller of module A will do the job. The problem is I have no idea how I can prevent module B to dispatch directly A1 (instead of A.A1) i.e. it will bypass the shell controller. What I don't like is that Command objects have a global scope. If you dispatch an event from whatever module, the event will be catched by the command even if it's not part of the same module. How can I restrict the scope of the commands in a module context? Rgds, Olivier --------------------- An electronic message is not binding on its sender. Any message referring to a binding engagement must be confirmed in writing and duly signed. ---------------------

