~ubuntu-branches/ubuntu/utopic/mir/utopic-proposed

« back to all changes in this revision

Viewing changes to include/server/mir/default_server_configuration.h

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release
  • Date: 2014-03-10 19:28:46 UTC
  • mto: This revision was merged to the branch mainline in revision 63.
  • Revision ID: package-import@ubuntu.com-20140310192846-rq9qm3ec26yrelo2
Tags: upstream-0.1.6+14.04.20140310
Import upstream version 0.1.6+14.04.20140310

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright © 2012 Canonical Ltd.
 
2
 * Copyright © 2012-2014 Canonical Ltd.
3
3
 *
4
4
 * This program is free software: you can redistribute it and/or modify it
5
5
 * under the terms of the GNU General Public License version 3,
20
20
 
21
21
#include "mir/cached_ptr.h"
22
22
#include "mir/server_configuration.h"
23
 
#include "mir/default_configuration_options.h"
24
23
 
25
24
#include <memory>
26
25
#include <string>
114
113
class Logger;
115
114
}
116
115
 
117
 
class DefaultServerConfiguration : public virtual ServerConfiguration, protected DefaultConfigurationOptions
 
116
namespace options
 
117
{
 
118
class Option;
 
119
class Configuration;
 
120
}
 
121
 
 
122
namespace report
 
123
{
 
124
class ReportFactory;
 
125
}
 
126
 
 
127
class DefaultServerConfiguration : public virtual ServerConfiguration
118
128
{
119
129
public:
120
130
    DefaultServerConfiguration(int argc, char const* argv[]);
 
131
    explicit DefaultServerConfiguration(std::shared_ptr<options::Configuration> const& configuration_options);
121
132
 
122
133
    /** @name DisplayServer dependencies
123
134
     * dependencies of DisplayServer on the rest of the Mir
235
246
    virtual std::shared_ptr<time::Clock> the_clock();
236
247
 
237
248
protected:
238
 
    using DefaultConfigurationOptions::the_options;
239
 
    using DefaultConfigurationOptions::add_options;
240
 
    using DefaultConfigurationOptions::parse_options;
 
249
    std::shared_ptr<options::Option> the_options() const;
241
250
 
242
251
    virtual std::shared_ptr<input::InputChannelFactory> the_input_channel_factory();
243
252
    virtual std::shared_ptr<scene::MediatingDisplayChanger> the_mediating_display_changer();
297
306
    CachedPtr<scene::MediatingDisplayChanger> mediating_display_changer;
298
307
 
299
308
private:
 
309
    std::shared_ptr<options::Configuration> const configuration_options;
300
310
    std::shared_ptr<input::EventFilter> const default_filter;
301
311
 
302
312
    virtual std::string the_socket_file() const;
313
323
    std::shared_ptr<scene::SessionManager>       the_session_manager();
314
324
    std::shared_ptr<scene::SurfaceBuilder>       the_surface_builder();
315
325
    std::shared_ptr<scene::SurfaceController>    the_surface_controller();
316
 
    std::function<void()> force_threads_to_unblock_callback();
 
326
 
 
327
    auto report_factory(char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
317
328
};
318
329
}
319
330