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

read_lnk.h

Go to the documentation of this file.
00001 //  ======================================================================== //
00002 //                                                                           //
00003 //    File      : read_lnk.h                                                 //
00004 //    Purpose   :                                                            //
00005 //    Time-stamp: <Mon Dec/02/2002 01:49 MET Coder@ReallySoft.de>            //
00006 //                                                                           //
00007 //    (C) August 2002 by Ralf Westram                                        //
00008 //                                                                           //
00009 //    Permission to use, copy, modify, distribute and sell this software     //
00010 //    and its documentation for any purpose is hereby granted without fee,   //
00011 //    provided that the above copyright notice appear in all copies and      //
00012 //    that both that copyright notice and this permission notice appear      //
00013 //    in supporting documentation.                                           //
00014 //                                                                           //
00015 //    Ralf Westram makes no representations about the suitability of this    //
00016 //    software for any purpose.  It is provided "as is" without express or   //
00017 //    implied warranty.                                                      //
00018 //                                                                           //
00019 //  ======================================================================== //
00020 
00021 #ifndef READ_LNK_H
00022 #define READ_LNK_H
00023 
00024 #ifndef STRING
00025 #include <string>
00026 #endif
00027 
00028 
00029 namespace rs {
00030 
00032     class Lnk {
00033     private:
00034         std::string filename;
00035         std::string target;
00036 
00037         bool points_to_file_or_directory_;
00038         bool target_is_directory;
00039 
00040     public:
00044         Lnk(const std::string& filename_);
00045         virtual ~Lnk() {}
00046 
00048         bool points_to_file_or_directory() const { return points_to_file_or_directory_; }
00049 
00051         bool is_valid() const;
00052 
00054         bool points_to_directory() const { return points_to_file_or_directory() && target_is_directory; }
00055 
00057         bool points_to_file() const { return points_to_file_or_directory() && !target_is_directory; }
00058 
00060         const std::string& get_target() const { return target; }
00061     };
00062 
00063 
00064 }; // end of namespace rs
00065 
00066 #else
00067 #error read_lnk.h included twice
00068 #endif // READ_LNK_H
00069 

Contact me in case of errors or questions.
This documentation is powered by Doxygen.
(C) 2000-2002 Doxygen