summaryrefslogtreecommitdiff
path: root/include/lldb/API
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-29 16:26:31 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-29 16:26:31 +0000
commit61b440f5005f0bf4e5864ba9cff4107ac56be404 (patch)
tree7d21c36d6cfd2c3053c6673f6303dceb45bc07c6 /include/lldb/API
parentfb19dde5bfd42a03786ee50e6b300e47c45ace47 (diff)
Notes
Diffstat (limited to 'include/lldb/API')
-rw-r--r--include/lldb/API/SBStructuredData.h61
-rw-r--r--include/lldb/API/SBTrace.h13
2 files changed, 67 insertions, 7 deletions
diff --git a/include/lldb/API/SBStructuredData.h b/include/lldb/API/SBStructuredData.h
index 5fb5d3be65ad..f7a6469bb8de 100644
--- a/include/lldb/API/SBStructuredData.h
+++ b/include/lldb/API/SBStructuredData.h
@@ -37,11 +37,70 @@ public:
lldb::SBError GetDescription(lldb::SBStream &stream) const;
+ //------------------------------------------------------------------
+ /// Return the type of data in this data structure
+ //------------------------------------------------------------------
+ lldb::StructuredDataType GetType() const;
+
+ //------------------------------------------------------------------
+ /// Return the size (i.e. number of elements) in this data structure
+ /// if it is an array or dictionary type. For other types, 0 will be
+ // returned.
+ //------------------------------------------------------------------
+ size_t GetSize() const;
+
+ //------------------------------------------------------------------
+ /// Return the value corresponding to a key if this data structure
+ /// is a dictionary type.
+ //------------------------------------------------------------------
+ lldb::SBStructuredData GetValueForKey(const char *key) const;
+
+ //------------------------------------------------------------------
+ /// Return the value corresponding to an index if this data structure
+ /// is array.
+ //------------------------------------------------------------------
+ lldb::SBStructuredData GetItemAtIndex(size_t idx) const;
+
+ //------------------------------------------------------------------
+ /// Return the integer value if this data structure is an integer type.
+ //------------------------------------------------------------------
+ uint64_t GetIntegerValue(uint64_t fail_value = 0) const;
+
+ //------------------------------------------------------------------
+ /// Return the floating point value if this data structure is a floating
+ /// type.
+ //------------------------------------------------------------------
+ double GetFloatValue(double fail_value = 0.0) const;
+
+ //------------------------------------------------------------------
+ /// Return the boolean value if this data structure is a boolean type.
+ //------------------------------------------------------------------
+ bool GetBooleanValue(bool fail_value = false) const;
+
+ //------------------------------------------------------------------
+ /// Provides the string value if this data structure is a string type.
+ ///
+ /// @param[out] dst
+ /// pointer where the string value will be written. In case it is null,
+ /// nothing will be written at @dst.
+ ///
+ /// @param[in] dst_len
+ /// max number of characters that can be written at @dst. In case it is
+ /// zero, nothing will be written at @dst. If this length is not enough
+ /// to write the complete string value, (dst_len-1) bytes of the string
+ /// value will be written at @dst followed by a null character.
+ ///
+ /// @return
+ /// Returns the byte size needed to completely write the string value at
+ /// @dst in all cases.
+ //------------------------------------------------------------------
+ size_t GetStringValue(char *dst, size_t dst_len) const;
+
protected:
friend class SBTraceOptions;
StructuredDataImplUP m_impl_up;
};
-}
+} // namespace lldb
#endif /* SBStructuredData_h */
diff --git a/include/lldb/API/SBTrace.h b/include/lldb/API/SBTrace.h
index e29a5db7cc46..244a01e5ce11 100644
--- a/include/lldb/API/SBTrace.h
+++ b/include/lldb/API/SBTrace.h
@@ -40,7 +40,7 @@ public:
///
/// @param[in] thread_id
/// Tracing could be started for the complete process or a
- /// single thread, in the first case the uid obtained would
+ /// single thread, in the first case the traceid obtained would
/// map to all the threads existing within the process and the
/// ones spawning later. The thread_id parameter can be used in
/// such a scenario to select the trace data for a specific
@@ -68,16 +68,17 @@ public:
/// An error explaining what went wrong.
///
/// @param[in] thread_id
- /// The user id could map to a tracing instance for a thread
+ /// The trace id could map to a tracing instance for a thread
/// or could also map to a group of threads being traced with
/// the same trace options. A thread_id is normally optional
/// except in the case of tracing a complete process and tracing
/// needs to switched off on a particular thread.
/// A situation could occur where initially a thread (lets say
- /// thread A) is being individually traced with a particular uid
- /// and then tracing is started on the complete process, in this
- /// case thread A will continue without any change. All newly
- /// spawned threads would be traced with the uid of the process.
+ /// thread A) is being individually traced with a particular
+ /// trace id and then tracing is started on the complete
+ /// process, in this case thread A will continue without any
+ /// change. All newly spawned threads would be traced with the
+ /// trace id of the process.
/// Now if the StopTrace API is called for the whole process,
/// thread A will not be stopped and must be stopped separately.
//------------------------------------------------------------------