aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-09-14 00:43:07 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-09-14 00:43:07 +0200
commit760b05273c99dec72a4d0af525d101955f8f2234 (patch)
treedd6ae137c13fa04df5fb831c26eae27ceb474eef /OpenKeychain
parentf0e159a372174db4d0939f8f747a05b62d9b068d (diff)
downloadopen-keychain-760b05273c99dec72a4d0af525d101955f8f2234.tar.gz
open-keychain-760b05273c99dec72a4d0af525d101955f8f2234.tar.bz2
open-keychain-760b05273c99dec72a4d0af525d101955f8f2234.zip
(forgot a file for previous commit)
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java103
1 files changed, 103 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java
new file mode 100644
index 000000000..073eab354
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.service.results;
+
+import android.os.Parcel;
+
+import org.openintents.openpgp.OpenPgpMetadata;
+import org.openintents.openpgp.OpenPgpSignatureResult;
+
+import java.util.Date;
+
+public class SignEncryptResult extends OperationResultParcel {
+
+ // the fourth bit indicates a "data pending" result!
+ public static final int RESULT_PENDING = 8;
+
+ // fifth to sixth bit in addition indicate specific type of pending
+ public static final int RESULT_PENDING_NFC = RESULT_PENDING +16;
+
+ byte[] mNfcHash;
+ int mNfcAlgo;
+ Date mNfcTimestamp;
+
+ public void setNfcData(byte[] sessionKey, int nfcAlgo, Date nfcTimestamp) {
+ mNfcHash = sessionKey;
+ mNfcAlgo = nfcAlgo;
+ mNfcTimestamp = nfcTimestamp;
+ }
+
+ public byte[] getNfcHash() {
+ return mNfcHash;
+ }
+
+ public int getNfcAlgo() {
+ return mNfcAlgo;
+ }
+
+ public Date getNfcTimestamp() {
+ return mNfcTimestamp;
+ }
+
+ public boolean isPending() {
+ return (mResult & RESULT_PENDING) != 0;
+ }
+
+ public SignEncryptResult(int result, OperationLog log) {
+ super(result, log);
+ }
+
+ public SignEncryptResult(Parcel source) {
+ super(source);
+ mNfcHash = source.readInt() != 0 ? source.createByteArray() : null;
+ mNfcAlgo = source.readInt();
+ mNfcTimestamp = source.readInt() != 0 ? new Date(source.readLong()) : null;
+ }
+
+ public int describeContents() {
+ return 0;
+ }
+
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ if (mNfcHash != null) {
+ dest.writeInt(1);
+ dest.writeByteArray(mNfcHash);
+ } else {
+ dest.writeInt(0);
+ }
+ dest.writeInt(mNfcAlgo);
+ if (mNfcHash != null) {
+ dest.writeInt(1);
+ dest.writeLong(mNfcTimestamp.getTime());
+ } else {
+ dest.writeInt(0);
+ }
+ }
+
+ public static final Creator<SignEncryptResult> CREATOR = new Creator<SignEncryptResult>() {
+ public SignEncryptResult createFromParcel(final Parcel source) {
+ return new SignEncryptResult(source);
+ }
+
+ public SignEncryptResult[] newArray(final int size) {
+ return new SignEncryptResult[size];
+ }
+ };
+
+} \ No newline at end of file