blob: 712a5e2a51e73ba82fe26cadb4444a7f3f4fa7a9 [file] [log] [blame]
Zachary Turner9befc012015-11-24 21:35:50 +00001#!/usr/bin/env python
2
3"""
4Shared functionality used by `client` and `server` when dealing with
Zachary Turner24a95f82015-11-30 22:31:13 +00005remote transmission
Zachary Turner9befc012015-11-24 21:35:50 +00006"""
7
8# Future imports
9from __future__ import absolute_import
10from __future__ import print_function
11
12# Python modules
13import json
14import logging
15import os
16import socket
17import struct
18import sys
19
20# LLDB modules
21import use_lldb_suite
22
Kate Stoneb9c1b512016-09-06 20:57:50 +000023
Zachary Turner24a95f82015-11-30 22:31:13 +000024def generate_config(languages):
25 config = {"languages": languages}
Zachary Turner9befc012015-11-24 21:35:50 +000026 return json.dumps(config)
27
Kate Stoneb9c1b512016-09-06 20:57:50 +000028
Zachary Turner24a95f82015-11-30 22:31:13 +000029def parse_config(json_reader):
30 json_data = json_reader.read()
31 options_dict = json.loads(json_data)
32 return options_dict
Zachary Turner6f12d332015-11-30 22:31:24 +000033
Kate Stoneb9c1b512016-09-06 20:57:50 +000034
Zachary Turner6f12d332015-11-30 22:31:24 +000035def serialize_response_status(status):
36 status = {"retcode": status[0], "output": status[1]}
37 return json.dumps(status)
38
Kate Stoneb9c1b512016-09-06 20:57:50 +000039
Zachary Turner6f12d332015-11-30 22:31:24 +000040def deserialize_response_status(json_reader):
41 json_data = json_reader.read()
42 response_dict = json.loads(json_data)
43 return (response_dict["retcode"], response_dict["output"])