aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-07-22 16:50:39 +1000
committerGavin Andresen <gavinandresen@gmail.com>2013-08-22 16:18:25 +1000
commita41d5fe01947f2f878c055670986a165af800f9a (patch)
tree40eeada1ebc180f8e3669a7d164104686dc0c618 /share
parent47d0534368fbf0e3fb2cad7d05d60501d29f62aa (diff)
Payment Protocol: X509-validated payment requests
Add support for a Payment Protocol to Bitcoin-Qt. Payment messages are protocol-buffer encoded and communicated over http(s), so this adds a dependency on the Google protocol buffer library, and requires Qt with OpenSSL support.
Diffstat (limited to 'share')
-rw-r--r--share/qt/Info.plist96
-rw-r--r--share/qt/protobuf.pri35
2 files changed, 102 insertions, 29 deletions
diff --git a/share/qt/Info.plist b/share/qt/Info.plist
index 6f64c3164b..f191402e83 100644
--- a/share/qt/Info.plist
+++ b/share/qt/Info.plist
@@ -2,36 +2,74 @@
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
- <key>CFBundleIconFile</key>
- <string>bitcoin.icns</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleGetInfoString</key>
- <string>$VERSION, Copyright © 2009-$YEAR The Bitcoin developers</string>
- <key>CFBundleShortVersionString</key>
- <string>$VERSION</string>
- <key>CFBundleVersion</key>
- <string>$VERSION</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleExecutable</key>
- <string>Bitcoin-Qt</string>
- <key>CFBundleIdentifier</key>
- <string>org.bitcoinfoundation.Bitcoin-Qt</string>
- <key>CFBundleURLTypes</key>
+ <key>CFBundleIconFile</key>
+ <string>bitcoin.icns</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleGetInfoString</key>
+ <string>$VERSION, Copyright © 2009-$YEAR The Bitcoin developers</string>
+ <key>CFBundleShortVersionString</key>
+ <string>$VERSION</string>
+ <key>CFBundleVersion</key>
+ <string>$VERSION</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleExecutable</key>
+ <string>Bitcoin-Qt</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.bitcoinfoundation.Bitcoin-Qt</string>
+
+ <key>CFBundleURLTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>CFBundleURLName</key>
+ <string>org.bitcoin.BitcoinPayment</string>
+ <key>CFBundleURLSchemes</key>
+ <array>
+ <string>bitcoin</string>
+ </array>
+ </dict>
+ </array>
+
+ <key>UTExportedTypeDeclarations</key>
+ <array>
+ <dict>
+ <key>UTTypeIdentifier</key>
+ <string>org.bitcoin.paymentrequest</string>
+ <key>UTTypeDescription</key>
+ <string>Bitcoin payment request</string>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ </array>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>public.mime-type</key>
+ <string>application/x-bitcoin-payment-request</string>
+ <key>public.filename-extension</key>
<array>
- <dict>
- <key>CFBundleTypeRole</key>
- <string>Editor</string>
- <key>CFBundleURLName</key>
- <string>org.bitcoinfoundation.BitcoinPayment</string>
- <key>CFBundleURLSchemes</key>
- <array>
- <string>bitcoin</string>
- </array>
- </dict>
+ <string>bitcoinpaymentrequest</string>
</array>
- <key>NSHighResolutionCapable</key>
- <true/>
+ </dict>
+ </dict>
+ </array>
+
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.bitcoin.paymentrequest</string>
+ </array>
+ <key>LSHandlerRank</key>
+ <string>Owner</string>
+ </dict>
+ </array>
+ <key>NSHighResolutionCapable</key>
+ <true/>
</dict>
</plist>
diff --git a/share/qt/protobuf.pri b/share/qt/protobuf.pri
new file mode 100644
index 0000000000..865fe86555
--- /dev/null
+++ b/share/qt/protobuf.pri
@@ -0,0 +1,35 @@
+# Based on: http://code.google.com/p/ostinato/source/browse/protobuf.pri
+#
+# Qt qmake integration with Google Protocol Buffers compiler protoc
+#
+# To compile protocol buffers with qt qmake, specify PROTOS variable and
+# include this file
+#
+# Example:
+# PROTOS = a.proto b.proto
+# include(protobuf.pri)
+#
+# Set PROTO_PATH if you need to set the protoc --proto_path search path
+# Set PROTOC to the path to the protoc compiler if it is not in your $PATH
+#
+
+isEmpty(PROTO_DIR):PROTO_DIR = .
+isEmpty(PROTOC):PROTOC = protoc
+
+PROTOPATHS =
+for(p, PROTO_PATH):PROTOPATHS += --proto_path=$${p}
+
+protobuf_decl.name = protobuf header
+protobuf_decl.input = PROTOS
+protobuf_decl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h
+protobuf_decl.commands = $${PROTOC} --cpp_out="$${PROTO_DIR}" $${PROTOPATHS} --proto_path=${QMAKE_FILE_IN_PATH} ${QMAKE_FILE_NAME}
+protobuf_decl.variable_out = GENERATED_FILES
+QMAKE_EXTRA_COMPILERS += protobuf_decl
+
+protobuf_impl.name = protobuf implementation
+protobuf_impl.input = PROTOS
+protobuf_impl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.cc
+protobuf_impl.depends = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h
+protobuf_impl.commands = $$escape_expand(\\n)
+protobuf_impl.variable_out = GENERATED_SOURCES
+QMAKE_EXTRA_COMPILERS += protobuf_impl