// base file for the UCM programming model module ucm { struct Property { string name; string value; }; typedef sequence < Property > Properties; typedef long componentId; typedef sequence < componentId > componentIds; typedef long connectionId; exception NOT_FOUND { }; exception BAD_PARAMETER { }; exception UCM_ERROR { }; interface PortElementObject { }; interface ComponentObject { void on_init (); void on_remove (); void on_startup (); void on_shutdown (); PortElementObject get_portElement (in string provided); }; interface Container; interface FragmentObject { void set_container_interface (in Container container); }; interface Connectable { void on_connect (in string port_or_policy, in string port_elem, in PortElementObject required); void on_disconnect (in string port_or_policy, in string port_elem); }; interface Container { componentId add_component (in string name, in Properties configValues) raises (UCM_ERROR); void remove_component (in componentId comp_instance) raises (NOT_FOUND, UCM_ERROR); PortElementObject get_port_element (in componentId comp_instance, in string port__or_policy, in string port_elem) raises (NOT_FOUND, UCM_ERROR); connectionId connect (in componentId instance, in string port_or_policy, in string port_elem, in PortElementObject to_port) raises (NOT_FOUND, BAD_PARAMETER, UCM_ERROR); void disconnect (in connectionId connection) raises (NOT_FOUND, UCM_ERROR); void start () raises (UCM_ERROR); void stop () raises (UCM_ERROR); componentIds get_components () raises (UCM_ERROR); }; interface ContainerManager:Container { Container create_container (in Properties configValues) raises (UCM_ERROR); void remove_container (in Container subContainer) raises (NOT_FOUND, UCM_ERROR); void destroy () raises (UCM_ERROR); }; }; // end of module ucm