00001 #ifndef __UPF_SERVICEMANAGER_IDL__
00002 #define __UPF_SERVICEMANAGER_IDL__
00003
00004 #include "IObject.idl"
00005 #include "IClassFactory.idl"
00006
00007 module upf
00008 {
00009
00010
00012 interface IServiceChangeListener : IObject
00013 {
00017 void onChange(in string name, in IObject value);
00018 };
00019
00020
00022 const long SERVICE_CAN_UNBIND = 0x0001;
00024 const long SERVICE_CAN_REBIND = 0x0002;
00025
00040 interface IServiceManager : IObject
00041 {
00042 boolean bind(in string name, in IObject obj, in long permissions);
00043
00050 boolean rebind(in string name, in IObject obj);
00051
00058 boolean unbind(in string name);
00059
00063 IObject resolve(in string name);
00064
00072 void addListener(in string name, in IServiceChangeListener listener);
00073 };
00074
00075 #pragma single_impl IServiceManager upf.impl.ServiceManager
00076 #pragma version IServiceManager 1.0
00077
00078
00079 };
00080
00081 #endif