aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-02-22 18:13:36 +0000
committerAndre Heinecke <[email protected]>2016-02-22 18:13:36 +0000
commit7286fc7f3d51d475f82c7c9821d031290f5b0066 (patch)
treeb198f62a28aabf4c42ab38190784c0d1f036fd30
parentAdd buildsystem for Gpgmepp (diff)
downloadgpgme-7286fc7f3d51d475f82c7c9821d031290f5b0066.tar.gz
gpgme-7286fc7f3d51d475f82c7c9821d031290f5b0066.zip
Add README for gpgmepp
* lang/README: Note down cpp. * cpp/README: Add README based on original repo version.
-rw-r--r--lang/README1
-rw-r--r--lang/cpp/README54
2 files changed, 55 insertions, 0 deletions
diff --git a/lang/README b/lang/README
index da54c78b..57450290 100644
--- a/lang/README
+++ b/lang/README
@@ -10,3 +10,4 @@ sub-directory.
Directory Language
cl Common Lisp
+cpp C++
diff --git a/lang/cpp/README b/lang/cpp/README
new file mode 100644
index 00000000..22b440cc
--- /dev/null
+++ b/lang/cpp/README
@@ -0,0 +1,54 @@
+GpgMEpp - C++ bindings/wrapper for gpgme
+----------------------------------------
+Based on KF5gpgmepp
+
+GPGMEpp is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+GPGME++ is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public License
+along with GPGME++; see the file COPYING.LIB. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
+Overview
+--------
+
+GpgMEpp is a C++ wrapper (or C++ bindings) for the GnuPG project's
+gpgme (GnuPG Made Easy) library, version 0.4.4 and later.
+
+It is fairly complete, with some minor things still missing (in
+particular, the key edit interface).
+
+The design principles of this library are as follows:
+
+1. A value-based interface (most clases are implicitly shared)
+2. Callbacks are replaced by C++ interfaces (classes with only
+ abstract methods).
+3. No exceptions are thrown
+4. There is (as yet) no explicit support for multi-threaded use
+ (other than what gpgme itself provides; most notably the
+ refcounting for implicit sharing is not thread-safe)
+5. To avoid binary incompatible interface changes, we make
+ extensive use of the d-pointer pattern and avoid virtual
+ methods; any polymorphism present is already provided by gpgme
+ itself, anyway (see e.g. Data). A notable exception of the
+ no-virtuals rule is the use of abstract classes to cover
+ C-callbacks.
+
+GpgME was originally developed as part of the KDEPIM community
+in KDE 4 it was part of kdepimlibs/gpgme++ for KF5 Gpgme++ was
+renamed to KF5GpgMEpp and moved into it's own repository.
+
+License
+-------
+
+This library is licensed under the GNU Library General Public
+License (LGPL), just as gpgme is. We feel that using a different
+license than the one gpgme itself uses doesn't make sense.