Home | History | Annotate | Download | only in host
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef REMOTING_HOST_SERVICE_URLS_H_
      6 #define REMOTING_HOST_SERVICE_URLS_H_
      7 
      8 #include <string>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/memory/singleton.h"
     12 
     13 namespace remoting {
     14 
     15 // This class contains the URLs to the services used by the host (except for
     16 // Gaia, which has its own GaiaUrls class. In debug builds, it allows these URLs
     17 // to be overriden by command line switches, allowing the host process to be
     18 // pointed at alternate/test servers.
     19 class ServiceUrls {
     20  public:
     21   static ServiceUrls* GetInstance();
     22 
     23   // Remoting directory REST API URLs.
     24   const std::string& directory_base_url() const;
     25   const std::string& directory_hosts_url() const;
     26 
     27   // XMPP Server configuration.
     28   const std::string& xmpp_server_address() const;
     29   bool xmpp_server_use_tls() const;
     30 
     31   // Remoting directory bot JID (for registering hosts, logging, heartbeats).
     32   const std::string& directory_bot_jid() const;
     33 
     34  private:
     35   friend struct DefaultSingletonTraits<ServiceUrls>;
     36 
     37   ServiceUrls();
     38   virtual ~ServiceUrls();
     39 
     40   std::string directory_base_url_;
     41   std::string directory_hosts_url_;
     42   std::string xmpp_server_address_;
     43   bool xmpp_server_use_tls_;
     44   std::string directory_bot_jid_;
     45 
     46   DISALLOW_COPY_AND_ASSIGN(ServiceUrls);
     47 };
     48 
     49 }  // namespace remoting
     50 
     51 #endif  // REMOTING_HOST_SERVICE_URLS_H_
     52