+ /* the reason we have the servicereference as additional argument is
+ that we don't have to create one object for every entry in a possibly
+ large list, provided that no state information is nessesary to deliver
+ the required information. Anyway - ref *must* be the same as the argument
+ to the info() or getIServiceInformation call! */
+class iStaticServiceInformation: public iObject
+{
+public:
+ virtual RESULT getName(const eServiceReference &ref, std::string &name)=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iStaticServiceInformation>, iStaticServiceInformationPtr);
+
+class eServiceEvent;
+
+class iServiceInformation: public iStaticServiceInformation
+{
+public:
+ virtual RESULT getEvent(ePtr<eServiceEvent> &evt, int nownext);
+};
+
+TEMPLATE_TYPEDEF(ePtr<iServiceInformation>, iServiceInformationPtr);
+
+class iPauseableService: public iObject