00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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
00022
00023
00024
00025
00026
00027 class filename_spec
00028 {
00029 friend class profile_spec;
00030
00031 public:
00032
00033
00034
00035
00036
00037
00038 filename_spec(std::string const & filename,
00039 extra_images const & extra);
00040
00041 filename_spec();
00042
00043
00044
00045
00046
00047
00048
00049
00050 void set_sample_filename(std::string const & filename,
00051 extra_images const & extra);
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
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