Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

/root/resourcemonitord/resourcemonitord/IRMRegistration.h

Go to the documentation of this file.
00001 // ResourceMonitor
00002 
00003 // 
00005 // FILE:        IRMRegistration
00006 // PACKAGE: SubsystemMonitor
00007 //  Implements the following classes:
00008 //          IRMRegistration
00009 //  Date:   June 01, 2001
00010 //  Author: Perry G. Vincent
00012 
00013 
00014 /*M*
00015 BSD License
00016 
00017 Copyright (c) 2002, Intel Corporation
00018 All rights reserved.
00019 
00020 Redistribution and use in source and binary forms, with or without
00021 modification, are permitted provided that the following conditions are met:
00022 
00023   a.. Redistributions of source code must retain the above copyright notice,
00024       this list of conditions and the following disclaimer.
00025   b.. Redistributions in binary form must reproduce the above copyright notice,
00026       this list of conditions and the following disclaimer in the documentation
00027       and/or other materials provided with the distribution.
00028   c.. Neither the name of Intel Corporation nor the names of its contributors
00029       may be used to endorse or promote products derived from this software
00030       without specific prior written permission.
00031 
00032 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
00033 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00034 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00035 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
00036 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00037 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00038 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
00039 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00040 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00041 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00042 
00043  *M*/
00044 
00045 #ifndef __IRMRegistration__
00046 #define __IRMRegistration__
00047 
00048 // Include files
00049 
00050 #include "ISubsystemMonitor.h"
00051 #include "Statistic.h"
00052 #include "Monitor.h"
00053 
00069 namespace SubsystemMonitor
00070 {
00071 
00077 typedef  SubsystemMonitor::ISubsystemMonitor *(*systemFactory)(RMuid a_ssUID);
00085 typedef  SubsystemMonitor::Statistic *(*statisticFactory)(RMuid a_ssUID, rmID a_resourceid, rmID a_statid);
00097 typedef  SubsystemMonitor::Monitor *(*monitorFactory)(rmMonitorConfiguration a_config,
00098                                  rmMonitorControl a_control, uid_t a_uid, gid_t a_gid);
00099 
00193 
00194 #define CommonStatisticProxyIDstring    "1e14da1d-9a03-480f-9754-4940dd552646"
00195 
00196 class IRMRegistration
00197 {
00198 public:
00206     static void registerSubsystem( RMuid ssUID, SubsystemMonitor::systemFactory factory );
00214     static void registerStatistic( RMuid ssUID, SubsystemMonitor::statisticFactory factory );
00222     static void registerMonitor( RMuid ssUID, SubsystemMonitor::monitorFactory factory );
00237     static void resourceChange( RMuid ssUID, rmResourceInfo* info, bool active );
00238 protected:
00239 private:
00240 
00241 };
00242 // END CLASS DEFINITION IRMRegistration
00243 
00244 }   // SubsystemMonitor
00245 #endif // __IRMRegistration__
00246 

Generated at Sat Sep 7 21:21:07 2002 for Resource Monitoring Facility by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001