Branch data Line data Source code
1 : : // -*- C++ -*-
2 : : // Copyright (C) 2010-2011 Red Hat Inc.
3 : : //
4 : : // This file is part of systemtap, and is free software. You can
5 : : // redistribute it and/or modify it under the terms of the GNU General
6 : : // Public License (GPL); either version 2, or (at your option) any
7 : : // later version.
8 : : #ifndef CSCLIENT_H
9 : : #define CSCLIENT_H
10 : :
11 : : #if HAVE_NSS
12 : : #include "cscommon.h"
13 : :
14 : : struct compile_server_info;
15 : :
16 [ + - ][ + - ]: 39 : class compile_server_client
[ + - ][ + - ]
[ + - ][ + - ]
17 : : {
18 : : public:
19 [ + - ][ + - ]: 39 : compile_server_client (systemtap_session &s) : s(s), argc(0), server_version() {}
[ + - ][ + - ]
[ + - ][ + - ]
20 : : int passes_0_4 ();
21 : :
22 : : private:
23 : : // Client/server session methods.
24 : : int initialize ();
25 : : int create_request ();
26 : : int package_request ();
27 : : int find_and_connect_to_server ();
28 : : int unpack_response ();
29 : : int process_response ();
30 : :
31 : : // Client/server utility methods.
32 : : int include_file_or_directory (
33 : : const std::string &subdir,
34 : : const std::string &path
35 : : );
36 : : int add_package_args ();
37 : : int add_package_arg (const std::string &arg);
38 : : int compile_using_server (const std::vector<compile_server_info> &servers);
39 : : int add_localization_variables();
40 : :
41 : : int read_from_file (const std::string &fname, int &data);
42 : : template <class T>
43 : : int write_to_file (const std::string &fname, const T &data);
44 : : int flush_to_stream (const std::string &fname, std::ostream &o);
45 : :
46 : : void show_server_compatibility () const;
47 : :
48 : : systemtap_session &s;
49 : : std::vector<std::string> private_ssl_dbs;
50 : : std::vector<std::string> public_ssl_dbs;
51 : : std::string client_tmpdir;
52 : : std::string client_zipfile;
53 : : std::string server_tmpdir;
54 : : std::string server_zipfile;
55 : : unsigned argc;
56 : : cs_protocol_version server_version;
57 : : };
58 : :
59 : : // Utility functions
60 : : void query_server_status (systemtap_session &s);
61 : : void manage_server_trust (systemtap_session &s);
62 : : #endif // HAVE_NSS
63 : :
64 : : #endif // CSCLIENT_H
|