Skip to content
This repository was archived by the owner on Oct 4, 2019. It is now read-only.

Commit 9524c4d

Browse files
committed
Add support of private messages to js_operation_serializer. #806
1 parent 024fcc7 commit 9524c4d

2 files changed

Lines changed: 66 additions & 1 deletion

File tree

programs/js_operation_serializer/CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,15 @@ if(UNIX AND NOT APPLE)
44
endif()
55

66
target_link_libraries(js_operation_serializer
7-
PRIVATE golos_chain golos_protocol graphene_utilities fc ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS})
7+
PRIVATE
8+
golos_chain
9+
golos_protocol
10+
graphene_utilities
11+
golos::private_message
12+
golos::follow
13+
fc
14+
${CMAKE_DL_LIBS}
15+
${PLATFORM_SPECIFIC_LIBS})
816

917
install(TARGETS
1018
js_operation_serializer

programs/js_operation_serializer/main.cpp

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
#include <golos/protocol/protocol.hpp>
2+
#include <golos/plugins/private_message/private_message_operations.hpp>
3+
#include <golos/plugins/follow/follow_operations.hpp>
24
#include <golos/chain/steem_objects.hpp>
35
#include <fc/smart_ref_impl.hpp>
46

57
using namespace golos::chain;
68
using namespace golos::protocol;
9+
using namespace golos::plugins::private_message;
10+
using namespace golos::plugins::follow;
711

812
using std::string;
913
using std::map;
@@ -186,6 +190,13 @@ namespace detail_ns {
186190
}
187191
};
188192

193+
template<>
194+
struct js_name<private_contact_type> {
195+
static std::string name() {
196+
return "private_contact_type";
197+
}
198+
};
199+
189200
template<typename O>
190201
struct js_name<chainbase::object_id<O>> {
191202
static std::string name() {
@@ -395,6 +406,15 @@ namespace detail_ns {
395406
}
396407
};
397408

409+
template<>
410+
struct serializer<private_contact_type, true> {
411+
static void init() {
412+
}
413+
414+
static void generate() {
415+
}
416+
};
417+
398418
template<typename T>
399419
struct serializer<fc::optional<T>, false> {
400420
static void init() {
@@ -503,14 +523,51 @@ int main(int argc, char **argv) {
503523
}
504524
std::cout << "\n";
505525

526+
versioned_chain_properties cp;
527+
std::cout << "ChainTypes.chain_properties=\n";
528+
for (int i = 0; i < cp.count(); ++i) {
529+
cp.set_which(i);
530+
cp.visit(detail_ns::serialize_type_visitor(i));
531+
}
532+
std::cout << "\n";
533+
534+
// follow_plugin_operation fp;
535+
// std::cout << "ChainTypes.follow_operations=\n";
536+
// for (int i = 0; i < fp.count(); ++i) {
537+
// fp.set_which(i);
538+
// fp.visit(detail_ns::serialize_type_visitor(i));
539+
// }
540+
// std::cout << "\n";
541+
542+
std::cout << "ChainTypes.private_contact_types=\n";
543+
for (uint8_t i = unknown; i < private_contact_type_size; ++i) {
544+
std::cout << " " << fc::json::to_string(static_cast<private_contact_type>(i)) << "\n";
545+
}
546+
std::cout << "\n";
547+
548+
// private_message_plugin_operation pmp;
549+
// std::cout << "ChainTypes.private_message_operations=\n";
550+
// for (int i = 0; i < pmp.count(); ++i) {
551+
// pmp.set_which(i);
552+
// pmp.visit(detail_ns::serialize_type_visitor(i));
553+
// }
554+
// std::cout << "\n";
555+
506556
detail_ns::js_name<operation>::name("operation");
507557
detail_ns::js_name<future_extensions>::name("future_extensions");
558+
detail_ns::js_name<versioned_chain_properties>::name("chain_properties");
559+
detail_ns::js_name<follow_plugin_operation>::name("follow");
560+
detail_ns::js_name<private_message_plugin_operation>::name("private_message");
508561
detail_ns::serializer<signed_block>::init();
509562
detail_ns::serializer<block_header>::init();
510563
detail_ns::serializer<signed_block_header>::init();
511564
detail_ns::serializer<operation>::init();
565+
detail_ns::serializer<versioned_chain_properties>::init();
566+
detail_ns::serializer<follow_plugin_operation>::init();
567+
detail_ns::serializer<private_message_plugin_operation>::init();
512568
detail_ns::serializer<transaction>::init();
513569
detail_ns::serializer<signed_transaction>::init();
570+
514571
for (const auto &gen : detail_ns::serializers) {
515572
gen();
516573
}

0 commit comments

Comments
 (0)