mirror of
https://github.com/opnsense/src.git
synced 2026-02-28 04:10:49 -05:00
(A number of files not required for the FreeBSD build have been removed.) Sponsored by: DARPA, AFRL
90 lines
3.1 KiB
C++
90 lines
3.1 KiB
C++
//===-- ModuleChild.h -------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef liblldb_ModuleChild_h_
|
|
#define liblldb_ModuleChild_h_
|
|
|
|
#include "lldb/lldb-private.h"
|
|
|
|
namespace lldb_private {
|
|
|
|
//----------------------------------------------------------------------
|
|
/// @class ModuleChild ModuleChild.h "lldb/Core/ModuleChild.h"
|
|
/// @brief A mix in class that contains a pointer back to the module
|
|
/// that owns the object which inherits from it.
|
|
//----------------------------------------------------------------------
|
|
class ModuleChild
|
|
{
|
|
public:
|
|
//------------------------------------------------------------------
|
|
/// Construct with owning module.
|
|
///
|
|
/// @param[in] module
|
|
/// The module that owns the object that inherits from this
|
|
/// class.
|
|
//------------------------------------------------------------------
|
|
ModuleChild (const lldb::ModuleSP &module_sp);
|
|
|
|
//------------------------------------------------------------------
|
|
/// Copy constructor.
|
|
///
|
|
/// @param[in] rhs
|
|
/// A const ModuleChild class reference to copy.
|
|
//------------------------------------------------------------------
|
|
ModuleChild (const ModuleChild& rhs);
|
|
|
|
//------------------------------------------------------------------
|
|
/// Destructor.
|
|
//------------------------------------------------------------------
|
|
~ModuleChild();
|
|
|
|
//------------------------------------------------------------------
|
|
/// Assignment operator.
|
|
///
|
|
/// @param[in] rhs
|
|
/// A const ModuleChild class reference to copy.
|
|
///
|
|
/// @return
|
|
/// A const reference to this object.
|
|
//------------------------------------------------------------------
|
|
const ModuleChild&
|
|
operator= (const ModuleChild& rhs);
|
|
|
|
//------------------------------------------------------------------
|
|
/// Get const accessor for the module pointer.
|
|
///
|
|
/// @return
|
|
/// A const pointer to the module that owns the object that
|
|
/// inherits from this class.
|
|
//------------------------------------------------------------------
|
|
lldb::ModuleSP
|
|
GetModule () const;
|
|
|
|
//------------------------------------------------------------------
|
|
/// Set accessor for the module pointer.
|
|
///
|
|
/// @param[in] module
|
|
/// A new module that owns the object that inherits from this
|
|
/// class.
|
|
//------------------------------------------------------------------
|
|
void
|
|
SetModule (const lldb::ModuleSP &module_sp);
|
|
|
|
protected:
|
|
//------------------------------------------------------------------
|
|
// Member variables
|
|
//------------------------------------------------------------------
|
|
lldb::ModuleWP m_module_wp; ///< The Module that owns the object that inherits
|
|
///< from this class.
|
|
};
|
|
|
|
} // namespace lldb_private
|
|
|
|
|
|
#endif // liblldb_ModuleChild_h_
|