(file) Return to System.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/System.h between version 1.23 and 1.44

version 1.23, 2002/05/14 16:59:32 version 1.44, 2004/08/25 11:15:54
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2003////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
   // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
   // IBM Corp.; EMC Corporation, The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 25 
Line 28 
 // Modified By: // Modified By:
 //     Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) //     Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 // //
   // Modified By: Dave Rosckes (rosckes@us.ibm.com)
   //              Robert Kieninger, IBM (kieningr@de.ibm.com) for Bug#667
   //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_System_h #ifndef Pegasus_System_h
Line 32 
Line 38 
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
   #include <Pegasus/Common/Linkage.h>
   #include <Pegasus/Common/Logger.h>
   #include <sys/stat.h>
   
   
   #if defined(PEGASUS_OS_TYPE_WINDOWS)
   #ifndef mode_t
   typedef unsigned long mode_t;
   #endif
   #endif
   
  
 // //
 // Protocal Type // Protocal Type
Line 50 
Line 67 
 /** This is an opaque type which is returned by System::loadDynamicSymbol(). /** This is an opaque type which is returned by System::loadDynamicSymbol().
     Values of this type may be casted to the appropriate target type.     Values of this type may be casted to the appropriate target type.
 */ */
 #ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM  #if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) && !defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 typedef struct DynamicSymbolHandle_* DynamicSymbolHandle; typedef struct DynamicSymbolHandle_* DynamicSymbolHandle;
 #else #else
 extern "C" {typedef int (* DynamicSymbolHandle)(void);} extern "C" {typedef int (* DynamicSymbolHandle)(void);}
 #endif #endif
  
  
   
 /** The System class defines wrappers for operating system related calls. /** The System class defines wrappers for operating system related calls.
     These are only placed here if they are extremely light. These are     These are only placed here if they are extremely light. These are
     usually just direct wrappers which map more or less one to one to the     usually just direct wrappers which map more or less one to one to the
Line 108 
Line 126 
  
     static Boolean copyFile(const char* fromPath, const char* toPath);     static Boolean copyFile(const char* fromPath, const char* toPath);
  
       /** Unix issue:<br><br><b>RTLD_<bah></b> issue. Currently Pegasus uses RTLD_NOW during
           loading of the library if supported by OS.  Previous to 2.2, Pegasus used RTLD_GLOBAL on Linux
           - that behaviour is now deprecated.
       */
     static DynamicLibraryHandle loadDynamicLibrary(const char* fileName);     static DynamicLibraryHandle loadDynamicLibrary(const char* fileName);
  
     static void unloadDynamicLibrary(DynamicLibraryHandle libraryHandle);     static void unloadDynamicLibrary(DynamicLibraryHandle libraryHandle);
Line 122 
Line 144 
     static String getFullyQualifiedHostName ();     static String getFullyQualifiedHostName ();
     static String getSystemCreationClassName ();     static String getSystemCreationClassName ();
  
       static Uint32 _acquireIP(const char* hostname);
   
     static Uint32 lookupPort(     static Uint32 lookupPort(
         const char * serviceName,         const char * serviceName,
         Uint32 defaultPort);         Uint32 defaultPort);
  
     static String getCurrentLoginName();      static String getEffectiveUserName();
  
     /**     /**
     This function is used to input a password with echo disabled.     This function is used to input a password with echo disabled.
Line 158 
Line 182 
  
     @return             true if the username is valid, else false     @return             true if the username is valid, else false
     */     */
     static Boolean isSystemUser(char* userName);      static Boolean isSystemUser(const char* userName);
  
     /**     /**
     When the user name is not passed as an argument, this function      Checks whether the given user is a privileged user.
     checks whether the user running the command is a privileged user.  
     If a user name is given this function checks whether  
     the given user is a privileged user.  
  
     @param userName     User name to be checked.     @param userName     User name to be checked.
   
     @return             true if the user is a privileged user, else false     @return             true if the user is a privileged user, else false
     */     */
     static Boolean isPrivilegedUser(const String userName = String::EMPTY);      static Boolean isPrivilegedUser(const String userName);
  
     /**     /**
     This function returns the privileged user name on the system.     This function returns the privileged user name on the system.
Line 180 
Line 200 
     static String getPrivilegedUserName();     static String getPrivilegedUserName();
  
     /**     /**
       This function is used to verify whether the specified user is a member
       of the specified user group.
   
       @param userName     User name to be verified.
   
       @param groupName    User group name.
   
       @return             true if the user is a member of the user group,
                           false otherwise.
   
       @throw              InternalSystemError - If there is an error
                           accessing the specified user or group information.
       */
       static Boolean isGroupMember(const char* userName, const char* groupName);
   
       /**
     This function is used to get the process ID of the calling process.     This function is used to get the process ID of the calling process.
  
     @return             Process ID     @return             Process ID
Line 188 
Line 224 
  
     static Boolean truncateFile(const char* path, size_t newSize);     static Boolean truncateFile(const char* path, size_t newSize);
  
 #if defined(PEGASUS_OS_HPUX)      /** Compare two strings but ignore any case differences.
           This method is provided only because some platforms lack a strcasecmp
           function in the standard library.
       */
       static Sint32 strcasecmp(const char* s1, const char* s2);
   
       /** Return just the file or directory name from the path into basename.
           This method returns a file or directory name at the end of a path.
           The path can be relative or absolute. If the path is the root,
           then empty string is returned.
       */
       static char *extract_file_name(const char *fullpath, char *basename);
   
       /** Return just the pathname into dirname. The fullpath can be relative
           or absolute. This method returns a path minus the file or
           directory name at the end of a supplied path (fullpath).
           If the fullpath is the root, then fullpath is returned.
           The resulting path will contain a trailing slash unless fullpath is
           a file or directory name, in which case, just the file or directory
           name is returned.
       */
       static char *extract_file_path(const char *fullpath, char *dirname);
   
       // Is absolute path?
       static Boolean is_absolute_path(const char *path);
   
       /** Changes file permissions on the given file.
           @param path path of the file.
           @param mode the bit-wise inclusive OR of the values for the desired
           permissions.
           @return true on success, false on error and errno is set appropriately.
       */
       static Boolean changeFilePermissions(const char* path, mode_t mode);
   
       /**
           Flag indicating whether shared libraries are loaded with the
           BIND_VERBOSE option.
   
           THIS FLAG IS USED ON HP-UX ONLY.
        */
     static Boolean bindVerbose;     static Boolean bindVerbose;
 #endif  
       /** This function is an abstraction for the openlog interface used in the Logger
           class.  Each platform intending to use system logs should support this interface
       */
       static void openlog(const String);
   
       /** This function is an abstraction for the syslog interface used in the Logger
           class.  Each platform intending to use system logs should support this interface
       */
       static void syslog(Uint32, const char *);
   
       /** This function is an abstraction for the closelog interface used in the Logger
           class.  Each platform intending to use system logs should support this interface
       */
       static void closelog();
   
       // System ID constants for Logger::put and Logger::trace
       static const String CIMSERVER;
   
       // System ID constants for Logger::put and Logger::trace
       static const String CIMLISTENER;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.23  
changed lines
  Added in v.1.44

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2