Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
rpc_service_response_time_dialog.h
1 /* rpc_service_response_time_dialog.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef __RPC_SERVICE_RESPONSE_TIME_DIALOG_H__
11 #define __RPC_SERVICE_RESPONSE_TIME_DIALOG_H__
12 
13 #include "service_response_time_dialog.h"
14 
15 class QComboBox;
16 
17 struct _guid_key;
18 struct _dcerpc_uuid_value;
19 struct _e_guid_t;
21 
23 {
24  Q_OBJECT
25 
26 public:
27  enum RpcFamily {
28  DceRpc,
29  OncRpc
30  };
31 
32  RpcServiceResponseTimeDialog(QWidget &parent, CaptureFile &cf, struct register_srt *srt, RpcFamily dlg_type, const QString filter);
33  static TapParameterDialog *createDceRpcSrtDialog(QWidget &parent, const QString, const QString opt_arg, CaptureFile &cf);
34  static TapParameterDialog *createOncRpcSrtDialog(QWidget &parent, const QString, const QString opt_arg, CaptureFile &cf);
35 
36  void addDceRpcProgram(_guid_key *key, struct _dcerpc_uuid_value *value);
37  void addDceRpcProgramVersion(_guid_key *key);
38  void addOncRpcProgram(guint32 program, struct _rpc_prog_info_value *value);
39  void addOncRpcProgramVersion(guint32 program, guint32 version);
40  void updateOncRpcProcedureCount(guint32 program, guint32 version, int procedure);
41 
42  void setDceRpcUuidAndVersion(struct _e_guid_t *uuid, int version);
43  void setOncRpcProgramAndVersion(int program, int version);
44  void setRpcNameAndVersion(const QString &program_name, int version);
45 
46 protected:
47  virtual void provideParameterData();
48 
49 public slots:
50  void dceRpcProgramChanged(const QString &program_name);
51  void oncRpcProgramChanged(const QString &program_name);
52 
53 private:
54  RpcFamily dlg_type_;
55  QComboBox *program_combo_;
56  QComboBox *version_combo_;
57  QList<unsigned> versions_;
58 
59  // DCE-RPC
60  QMap<QString, struct _guid_key *> dce_name_to_uuid_key_;
61 
62  // ONC-RPC
63  QMap<QString, guint32> onc_name_to_program_;
64  int onc_rpc_num_procedures_;
65 
66  void clearVersionCombo();
67  void fillVersionCombo();
68 
69 };
70 
71 #endif // __RPC_SERVICE_RESPONSE_TIME_DIALOG_H__
72 
73 /*
74  * Editor modelines
75  *
76  * Local Variables:
77  * c-basic-offset: 4
78  * tab-width: 8
79  * indent-tabs-mode: nil
80  * End:
81  *
82  * ex: set shiftwidth=4 tabstop=8 expandtab:
83  * :indentSize=4:tabSize=8:noTabs=true:
84  */
Definition: packet-dcerpc.h:417
Definition: srt_table.c:19
Definition: tap_parameter_dialog.h:44
Definition: guid-utils.h:21
Definition: packet.h:336
Definition: rpc_service_response_time_dialog.h:22
Definition: capture_file.h:22
Definition: packet-rpc.h:193
Definition: service_response_time_dialog.h:21