~ubuntu-branches/ubuntu/wily/mir/wily-proposed

« back to all changes in this revision

Viewing changes to src/server/report/logging/display_report.h

  • Committer: Package Import Robot
  • Author(s): CI Train Bot
  • Date: 2015-05-12 13:12:55 UTC
  • mto: This revision was merged to the branch mainline in revision 96.
  • Revision ID: package-import@ubuntu.com-20150512131255-y7z12i8n4pbvo70x
Tags: upstream-0.13.0+15.10.20150512
ImportĀ upstreamĀ versionĀ 0.13.0+15.10.20150512

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#define MIR_REPORT_LOGGING_DISPLAY_REPORTER_H_
22
22
 
23
23
#include "mir/graphics/display_report.h"
 
24
#include "mir/time/clock.h"
24
25
 
 
26
#include <unordered_map>
25
27
#include <memory>
 
28
#include <mutex>
26
29
 
27
30
namespace mir
28
31
{
41
44
 
42
45
    static const char* component();
43
46
 
44
 
    DisplayReport(const std::shared_ptr<mir::logging::Logger>& logger);
 
47
    DisplayReport(
 
48
        std::shared_ptr<mir::logging::Logger> const& logger,
 
49
        std::shared_ptr<time::Clock> const& clock);
 
50
 
45
51
    virtual ~DisplayReport();
46
52
 
47
 
    virtual void report_successful_setup_of_native_resources();
48
 
    virtual void report_successful_egl_make_current_on_construction();
49
 
    virtual void report_successful_egl_buffer_swap_on_construction();
50
 
    virtual void report_successful_drm_mode_set_crtc_on_construction();
51
 
    virtual void report_successful_display_construction();
52
 
    virtual void report_drm_master_failure(int error);
53
 
    virtual void report_vt_switch_away_failure();
54
 
    virtual void report_vt_switch_back_failure();
55
 
    virtual void report_egl_configuration(EGLDisplay disp, EGLConfig cfg);
 
53
    virtual void report_successful_setup_of_native_resources() override;
 
54
    virtual void report_successful_egl_make_current_on_construction() override;
 
55
    virtual void report_successful_egl_buffer_swap_on_construction() override;
 
56
    virtual void report_successful_drm_mode_set_crtc_on_construction() override;
 
57
    virtual void report_successful_display_construction() override;
 
58
    virtual void report_vsync(unsigned int display_id) override;
 
59
    virtual void report_drm_master_failure(int error) override;
 
60
    virtual void report_vt_switch_away_failure() override;
 
61
    virtual void report_vt_switch_back_failure() override;
 
62
    virtual void report_egl_configuration(EGLDisplay disp, EGLConfig cfg) override;
56
63
 
57
64
  protected:
58
 
    DisplayReport(const DisplayReport&) = delete;
59
 
    DisplayReport& operator=(const DisplayReport&) = delete;
 
65
    DisplayReport(DisplayReport const&) = delete;
 
66
    DisplayReport& operator=(DisplayReport const&) = delete;
60
67
 
61
68
  private:
62
 
    std::shared_ptr<mir::logging::Logger> logger;
 
69
    std::shared_ptr<mir::logging::Logger> const logger;
 
70
    std::shared_ptr<time::Clock> const clock;
 
71
    std::mutex vsync_event_mutex;
 
72
    mir::time::Timestamp last_report;
 
73
    std::unordered_map<unsigned int, unsigned int> event_map;
63
74
};
64
75
}
65
76
}