15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_COMMON_AUTO_START_LINUX_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_COMMON_AUTO_START_LINUX_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class AutoStart { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Registers an application to autostart on user login. |is_terminal_app| 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // specifies whether the app will run in a terminal window. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool AddApplication(const std::string& autostart_filename, 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& application_name, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& command_line, 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool is_terminal_app); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Removes an autostart file. 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool Remove(const std::string& autostart_filename); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Gets the entire contents of an autostart file. 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool GetAutostartFileContents(const std::string& autostart_filename, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string* contents); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Gets a specific value from an autostart file. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static bool GetAutostartFileValue(const std::string& autostart_filename, 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& value_name, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string* value); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_IMPLICIT_CONSTRUCTORS(AutoStart); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_COMMON_AUTO_START_LINUX_H_ 34