1 //===-- SBCommandReturnObject.h ---------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBCommandReturnObject_h_
11 #define LLDB_SBCommandReturnObject_h_
15 #include "lldb/API/SBDefines.h"
19 class SBCommandReturnObject
23 SBCommandReturnObject ();
25 SBCommandReturnObject (const lldb::SBCommandReturnObject &rhs);
27 const lldb::SBCommandReturnObject &
28 operator = (const lldb::SBCommandReturnObject &rhs);
31 SBCommandReturnObject (lldb_private::CommandReturnObject *ptr);
33 lldb_private::CommandReturnObject *
36 ~SBCommandReturnObject ();
66 SetStatus (lldb::ReturnStatus status);
75 AppendMessage (const char *message);
78 AppendWarning (const char *message);
81 GetDescription (lldb::SBStream &description);
84 SetImmediateOutputFile (FILE *fh);
87 SetImmediateErrorFile (FILE *fh);
90 PutCString(const char* string, int len = -1);
93 Printf(const char* format, ...) __attribute__ ((format (printf, 2, 3)));
96 GetOutput (bool only_if_no_immediate);
99 GetError (bool only_if_no_immediate);
102 SetError (lldb::SBError &error,
103 const char *fallback_error_cstr = NULL);
106 SetError (const char* error_cstr);
109 friend class SBCommandInterpreter;
110 friend class SBOptions;
112 lldb_private::CommandReturnObject *
115 lldb_private::CommandReturnObject *
118 lldb_private::CommandReturnObject &
121 lldb_private::CommandReturnObject &
125 SetLLDBObjectPtr (lldb_private::CommandReturnObject *ptr);
128 std::unique_ptr<lldb_private::CommandReturnObject> m_opaque_ap;
133 #endif // LLDB_SBCommandReturnObject_h_