annotate src/common.h @ 443:459b140032d4

Introduce random key generator
author Chris Cannam
date Tue, 28 Jun 2011 14:33:50 +0100
parents 005633eed862
children 66ec8b2ee946
rev   line source
Chris@57 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@57 2
Chris@57 3 /*
Chris@57 4 EasyMercurial
Chris@57 5
Chris@57 6 Based on HgExplorer by Jari Korhonen
Chris@57 7 Copyright (c) 2010 Jari Korhonen
Chris@244 8 Copyright (c) 2011 Chris Cannam
Chris@244 9 Copyright (c) 2011 Queen Mary, University of London
Chris@57 10
Chris@57 11 This program is free software; you can redistribute it and/or
Chris@57 12 modify it under the terms of the GNU General Public License as
Chris@57 13 published by the Free Software Foundation; either version 2 of the
Chris@57 14 License, or (at your option) any later version. See the file
Chris@57 15 COPYING included with this distribution for more information.
Chris@57 16 */
Chris@57 17
jtkorhonen@0 18 #ifndef COMMON_H
jtkorhonen@0 19 #define COMMON_H
jtkorhonen@0 20
Chris@50 21 #include <QString>
jtkorhonen@0 22
Chris@172 23 extern QString findInPath(QString name, QString installPath, bool executable);
jtkorhonen@0 24
jtkorhonen@0 25 extern QString getSystem();
jtkorhonen@0 26 extern QString getHgDirName();
jtkorhonen@0 27
Chris@62 28 extern QString getUserRealName();
Chris@62 29
Chris@78 30 extern void loseControllingTerminal();
Chris@78 31
Chris@105 32 void installSignalHandlers();
Chris@105 33
Chris@79 34 /**
Chris@79 35 * Status used in testing whether a folder argument (received from the
Chris@79 36 * user) is valid for particular uses.
Chris@79 37 */
Chris@79 38 enum FolderStatus {
Chris@79 39 FolderUnknown, /// Neither the folder nor its parent exists
Chris@79 40 FolderParentExists, /// The folder is absent, but its parent exists
Chris@79 41 FolderExists, /// The folder exists and has no .hg repo in it
Chris@79 42 FolderHasRepo, /// The folder exists and has an .hg repo in it
Chris@79 43 FolderIsFile /// The "folder" is actually a file
Chris@79 44 };
Chris@79 45
Chris@79 46 FolderStatus getFolderStatus(QString path);
Chris@79 47
Chris@79 48 /**
Chris@79 49 * If the given path is somewhere within an existing repository,
Chris@79 50 * return the path of the root directory of the repository (i.e. the
Chris@79 51 * one with .hg in it).
Chris@79 52 *
Chris@79 53 * If the given path is _not_ in a repository, or the given path _is_
Chris@79 54 * the root directory of a repository, return QString(). Use
Chris@79 55 * getFolderStatus to distinguish between these cases.
Chris@79 56 */
Chris@79 57 QString getContainingRepoFolder(QString path);
Chris@79 58
Chris@79 59 QString xmlEncode(QString);
Chris@408 60
Chris@408 61 QString uniDecode(QString);
Chris@443 62
Chris@443 63 /**
Chris@443 64 * Generate a 16-byte random key using urandom or equivalent
Chris@443 65 */
Chris@443 66 QByteArray randomKey();
Chris@79 67
Chris@79 68
jtkorhonen@0 69 #endif //COMMON_H
jtkorhonen@0 70
jtkorhonen@0 71