]> sourceware.org Git - systemtap.git/blob - csclient.h
Don't compile csclient.cxx and cscommon.cxx when HAVE_NSS is false.
[systemtap.git] / csclient.h
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 class compile_server_client
17 {
18 public:
19 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
This page took 0.040479 seconds and 6 git commands to generate.