Q4Wine  2.0
Q4Wine is a Qt GUI for Wine.
wineapplication.hpp
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2008-2016 by Alexey S. Malakhov <brezerk@gmail.com> *
3  * *
4  * This program is free software: you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation, either version 3 of the License, or *
7  * (at your option) any later version. *
8  * *
9  * This program is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this program. If not, see <http://www.gnu.org/licenses/>. *
16  * *
17  ***************************************************************************/
18 
19 #pragma once
20 
21 #include <stdint.h>
22 #include <string>
23 #include <sstream>
24 #include <regex>
25 
26 #include "src/lib/defines.hpp"
27 #include "src/lib/dbobject.hpp"
28 
29 namespace q4wine {
30 namespace lib {
31 
60 class WineApplication : public DBObject {
61  public:
153  WineApplication(std::string name,
154  std::string path,
155  std::string args,
156  std::string workDirectory,
157  std::string iconName = std::string(),
158  std::string description = std::string(),
159  std::string overrideDlls = std::string(),
160  std::string wineDebug = std::string(),
161  std::string virtualDesktop = std::string(),
162  std::string lang = std::string(),
163  bool useTerminal = false,
164  std::string display = std::string(),
165  intptr_t priority = 0,
166  std::string preRunScript = std::string(),
167  std::string postRunScript = std::string(),
168  uintptr_t prefixId = 0,
169  uintptr_t dirId = 0,
170  uintptr_t id = 0);
173 
174  virtual bool save(void);
175 
181  static WineApplication* getInstance(intptr_t id);
182 
187  const std::string getNiceCmd(void) const;
188 
200  const std::string getEnvVariables() const;
201 
202  void setName(std::string name);
203  void setPath(std::string path);
204  void setArgs(std::string args);
205  void setWorkDirectory(std::string workDirectory);
206  void setIconName(std::string iconName);
207  void setDescription(std::string description);
208  void setOverrideDlls(std::string overrideDlls);
209  void setWineDebug(std::string wineDebug);
210  void setVirtualDesktop(std::string virtualDesktop);
211  void setLang(std::string lang);
212  void setUseTerminal(bool useTerminal);
213  void setDisplay(std::string display);
214  void setPriority(intptr_t priority);
215  void setPreRunScript(std::string preRunScript);
216  void setPostRunScript(std::string postRunScript);
217  void setPrefixId(uintptr_t prefixId);
218  void setDirId(uintptr_t dirId);
219 
220  const std::string getName(void) const;
221  const std::string getPath(void) const;
222  const std::string getArgs(void) const;
223  const std::string getWorkDirectory(void) const;
224  const std::string getIconName(void) const;
225  const std::string getDescription(void) const;
226  const std::string getOverrideDlls(void) const;
227  const std::string getWineDebug(void) const;
228  const std::string formatVirtualDesktop(void) const;
229  const std::string getVirtualDesktop(void) const;
230  const std::string getLang(void) const;
231  bool getUseTerminal(void) const;
232  const std::string getDisplay(void) const;
233  intptr_t getPriority(void) const;
234  const std::string getPreRunScript(void) const;
235  const std::string getPostRunScript(void) const;
236  uintptr_t getPrefixId(void) const;
237  uintptr_t getDirId(void) const;
238 
239  private:
241  static const std::string tableName_;
242  std::string name_;
243  std::string path_;
244  std::string args_;
245  std::string workDirectory_;
246  std::string iconName_;
247  std::string description_;
248  std::string overrideDlls_;
249  std::string wineDebug_;
250  std::string virtualDesktop_;
251  std::string lang_;
252  bool useTerminal_;
253  std::string display_;
254  intptr_t priority_;
255  std::string preRunScript_;
256  std::string postRunScript_;
257  uintptr_t prefixId_;
258  uintptr_t dirId_;
259 };
260 
261 } // namespace lib
262 } // namespace q4wine
const std::string getLang(void) const
Definition: wineapplication.cpp:334
uintptr_t getPrefixId(void) const
Definition: wineapplication.cpp:358
void setDescription(std::string description)
Definition: wineapplication.cpp:232
static WineApplication * getInstance(intptr_t id)
Create WineApplication object from DB by version.id.
Definition: wineapplication.cpp:151
Describes an abstract interface of object to q4wine db.
Definition: dbobject.hpp:40
const std::string getDescription(void) const
Definition: wineapplication.cpp:304
const std::string getName(void) const
Definition: wineapplication.cpp:284
const std::string getPreRunScript(void) const
Definition: wineapplication.cpp:350
uintptr_t getDirId(void) const
Definition: wineapplication.cpp:362
virtual bool save(void)
Definition: wineapplication.cpp:73
void setLang(std::string lang)
Definition: wineapplication.cpp:248
const std::string getWineDebug(void) const
Definition: wineapplication.cpp:312
const std::string getIconName(void) const
Definition: wineapplication.cpp:300
~WineApplication()
Definition: wineapplication.cpp:69
bool getUseTerminal(void) const
Definition: wineapplication.cpp:338
void setDirId(uintptr_t dirId)
Definition: wineapplication.cpp:280
void setPreRunScript(std::string preRunScript)
Definition: wineapplication.cpp:268
void setUseTerminal(bool useTerminal)
Definition: wineapplication.cpp:252
void setOverrideDlls(std::string overrideDlls)
Definition: wineapplication.cpp:236
const std::string getWorkDirectory(void) const
Definition: wineapplication.cpp:296
intptr_t getPriority(void) const
Definition: wineapplication.cpp:346
void setDisplay(std::string display)
Definition: wineapplication.cpp:256
Definition: db.cpp:23
void setPostRunScript(std::string postRunScript)
Definition: wineapplication.cpp:272
void setPrefixId(uintptr_t prefixId)
Definition: wineapplication.cpp:276
void setWorkDirectory(std::string workDirectory)
Definition: wineapplication.cpp:224
void setVirtualDesktop(std::string virtualDesktop)
Definition: wineapplication.cpp:244
WineApplication()
Definition: wineapplication.cpp:27
Describes a wine application configuration.
Definition: wineapplication.hpp:60
void setPath(std::string path)
Definition: wineapplication.cpp:216
const std::string getVirtualDesktop(void) const
Definition: wineapplication.cpp:330
const std::string getOverrideDlls(void) const
Definition: wineapplication.cpp:308
const std::string getArgs(void) const
Definition: wineapplication.cpp:292
void setPriority(intptr_t priority)
Definition: wineapplication.cpp:260
void setName(std::string name)
Definition: wineapplication.cpp:212
const std::string getEnvVariables() const
Definition: wineapplication.cpp:199
void setWineDebug(std::string wineDebug)
Definition: wineapplication.cpp:240
void setIconName(std::string iconName)
Definition: wineapplication.cpp:228
const std::string getNiceCmd(void) const
Construct nice command.
Definition: wineapplication.cpp:190
const std::string getPath(void) const
Definition: wineapplication.cpp:288
void setArgs(std::string args)
Definition: wineapplication.cpp:220
const std::string getDisplay(void) const
Definition: wineapplication.cpp:342
const std::string formatVirtualDesktop(void) const
Definition: wineapplication.cpp:316
const std::string getPostRunScript(void) const
Definition: wineapplication.cpp:354