X-Git-Url: http://git.home-dn.net/?p=manu%2Fsuphp.git;a=blobdiff_plain;f=src%2FAPI.hpp;h=5d84ebe88d61c899352c56b3119312a23c881793;hp=47f71e3c4394abf4c5ab5edc04e969a7d2b78228;hb=849f4a7977b5780eacae8fad7a078d05f4a615ee;hpb=b0eaa3f1fbf491fdc8a3044cf20754f14254338a diff --git a/src/API.hpp b/src/API.hpp index 47f71e3..5d84ebe 100644 --- a/src/API.hpp +++ b/src/API.hpp @@ -1,5 +1,5 @@ /* - suPHP - (c)2002-2005 Sebastian Marsching + suPHP - (c)2002-2008 Sebastian Marsching This file is part of suPHP. @@ -39,153 +39,165 @@ namespace suPHP { * Class encapsulating system-specific API. */ class API { - + public: - /** - * Get environment variable - */ - virtual Environment getProcessEnvironment() =0; - - /** - * Get UserInfo from username - */ - virtual UserInfo getUserInfo(const std::string username) - throw (LookupException) =0; - - /** - * Get UserInfo from UID - */ - virtual UserInfo getUserInfo(const int uid) =0; - - /** - * Get GroupInfo from groupname - */ - virtual GroupInfo getGroupInfo(const std::string groupname) - throw (LookupException) =0; - - /** - * Get GroupInfo from GID - */ - virtual GroupInfo getGroupInfo(const int gid) =0; - - /** - * Get UserInfo for effective UID - */ - virtual UserInfo getEffectiveProcessUser() =0; - - /** - * Get UserInfo for real UID - */ - virtual UserInfo getRealProcessUser() =0; - - /** - * Get GroupInfo for effective GID - */ - virtual GroupInfo getEffectiveProcessGroup() =0; - - /** - * Get GroupInfo for real GID - */ - virtual GroupInfo getRealProcessGroup() =0; - - /** - * Get Logger implementation - */ - virtual Logger& getSystemLogger() =0; - - /** - * Set UID of current process - */ - virtual void setProcessUser(const UserInfo& user) const - throw (SystemException) =0; - - /** - * Set GID of current process - */ - virtual void setProcessGroup(const GroupInfo& group) const - throw (SystemException) =0; - - /** - * Returns username from UserInfo - */ - virtual std::string UserInfo_getUsername(const UserInfo& uinfo) const - throw (LookupException) =0; - - /** - * Returns group from UserInfo - */ - virtual GroupInfo UserInfo_getGroupInfo(const UserInfo& uinfo) const - throw (LookupException) =0; - - /** - * Checks whether UserInfo objects represents the super-user - */ - virtual bool UserInfo_isSuperUser(const UserInfo& uinfo) const =0; - - /** - * Returns groupname from GroupInfo - */ - virtual std::string GroupInfo_getGroupname(const GroupInfo& ginfo) - const throw (LookupException) =0; - - /** - * Checks whether file exists - */ - virtual bool File_exists(const File& file) const =0; - - /** - * Returns real path to file - */ - virtual std::string File_getRealPath(const File& file) const - throw (SystemException) =0; - - /** - * Checks for a permission bit - */ - virtual bool File_hasPermissionBit(const File& file, FileMode perm) - const throw (SystemException) =0; - - /** - * Returns UID of file - */ - virtual UserInfo File_getUser(const File& file) const - throw (SystemException) =0; - - /** - * Returns GID of file - */ - virtual GroupInfo File_getGroup(const File& file) const - throw (SystemException) =0; - - /** - * Runs another program (replaces current process) - */ - virtual void execute(std::string program, const CommandLine& cline, - const Environment& env) const - throw (SystemException) =0; - - /** - * Returns current working directory - */ - virtual std::string getCwd() const throw (SystemException) =0; - - - /** - * Sets current working directory - */ - virtual void setCwd(const std::string& dir) const - throw (SystemException) =0; - - /** - * Sets umask - */ - virtual void setUmask(int umask) const throw (SystemException) =0; - - /** + /** + * Get environment variable + */ + virtual Environment getProcessEnvironment() =0; + + /** + * Get UserInfo from username + */ + virtual UserInfo getUserInfo(const std::string username) + throw (LookupException) =0; + + /** + * Get UserInfo from UID + */ + virtual UserInfo getUserInfo(const int uid) =0; + + /** + * Get GroupInfo from groupname + */ + virtual GroupInfo getGroupInfo(const std::string groupname) + throw (LookupException) =0; + + /** + * Get GroupInfo from GID + */ + virtual GroupInfo getGroupInfo(const int gid) =0; + + /** + * Get UserInfo for effective UID + */ + virtual UserInfo getEffectiveProcessUser() =0; + + /** + * Get UserInfo for real UID + */ + virtual UserInfo getRealProcessUser() =0; + + /** + * Get GroupInfo for effective GID + */ + virtual GroupInfo getEffectiveProcessGroup() =0; + + /** + * Get GroupInfo for real GID + */ + virtual GroupInfo getRealProcessGroup() =0; + + /** + * Get Logger implementation + */ + virtual Logger& getSystemLogger() =0; + + /** + * Set UID of current process + */ + virtual void setProcessUser(const UserInfo& user) const + throw (SystemException) =0; + + /** + * Set GID of current process + */ + virtual void setProcessGroup(const GroupInfo& group) const + throw (SystemException) =0; + + /** + * Returns username from UserInfo + */ + virtual std::string UserInfo_getUsername(const UserInfo& uinfo) const + throw (LookupException) =0; + + /** + * Returns group from UserInfo + */ + virtual GroupInfo UserInfo_getGroupInfo(const UserInfo& uinfo) const + throw (LookupException) =0; + + /** + * Returns home directory from UserInfo + */ + virtual std::string UserInfo_getHomeDirectory(const UserInfo& uinfo) const + throw (LookupException) =0; + + /** + * Checks whether UserInfo objects represents the super-user + */ + virtual bool UserInfo_isSuperUser(const UserInfo& uinfo) const =0; + + /** + * Returns groupname from GroupInfo + */ + virtual std::string GroupInfo_getGroupname(const GroupInfo& ginfo) + const throw (LookupException) =0; + + /** + * Checks whether file exists + */ + virtual bool File_exists(const File& file) const =0; + + /** + * Returns real path to file + */ + virtual std::string File_getRealPath(const File& file) const + throw (SystemException) =0; + + /** + * Checks for a permission bit + */ + virtual bool File_hasPermissionBit(const File& file, FileMode perm) + const throw (SystemException) =0; + + /** + * Returns UID of file + */ + virtual UserInfo File_getUser(const File& file) const + throw (SystemException) =0; + + /** + * Returns GID of file + */ + virtual GroupInfo File_getGroup(const File& file) const + throw (SystemException) =0; + + /** + * Checks whether a file is a symlink + */ + virtual bool File_isSymlink(const File& file) const + throw (SystemException) =0; + + /** + * Runs another program (replaces current process) + */ + virtual void execute(std::string program, const CommandLine& cline, + const Environment& env) const + throw (SystemException) =0; + + /** + * Returns current working directory + */ + virtual std::string getCwd() const throw (SystemException) =0; + + + /** + * Sets current working directory + */ + virtual void setCwd(const std::string& dir) const + throw (SystemException) =0; + + /** + * Sets umask + */ + virtual void setUmask(int umask) const throw (SystemException) =0; + + /** * Changes root directory for the current process - */ - virtual void chroot(const std::string& dir) const - throw (SystemException) =0; + */ + virtual void chroot(const std::string& dir) const + throw (SystemException) =0; }; };