00001 00011 #ifndef FILENAME_SPEC_H 00012 #define FILENAME_SPEC_H 00013 00014 #include <unistd.h> 00015 #include <string> 00016 00017 #include "generic_spec.h" 00018 00019 class profile_spec; 00020 class extra_images; 00021 00027 class filename_spec 00028 { 00029 friend class profile_spec; 00030 00031 public: 00038 filename_spec(std::string const & filename, 00039 extra_images const & extra); 00040 00041 filename_spec(); 00042 00050 void set_sample_filename(std::string const & filename, 00051 extra_images const & extra); 00052 00066 bool match(filename_spec const & rhs, 00067 std::string const & binary) const; 00068 00069 bool is_dependent() const; 00070 00071 private: 00072 std::string image; 00073 std::string lib_image; 00074 std::string cg_image; 00075 std::string event; 00076 int count; 00077 unsigned int unitmask; 00078 generic_spec<pid_t> tgid; 00079 generic_spec<pid_t> tid; 00080 generic_spec<int> cpu; 00081 }; 00082 00083 00084 #endif /* !FILENAME_SPEC_H */