1254721Semaste//===-- ConnectionSharedMemory.h --------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef liblldb_ConnectionSharedMemory_h_ 11254721Semaste#define liblldb_ConnectionSharedMemory_h_ 12254721Semaste 13254721Semaste// C Includes 14254721Semaste// C++ Includes 15254721Semaste#include <string> 16254721Semaste 17254721Semaste// Other libraries and framework includes 18254721Semaste// Project includes 19254721Semaste#include "lldb/Core/Connection.h" 20254721Semaste#include "lldb/Core/DataBufferMemoryMap.h" 21254721Semaste 22254721Semastenamespace lldb_private { 23254721Semaste 24254721Semasteclass ConnectionSharedMemory : 25254721Semaste public Connection 26254721Semaste{ 27254721Semastepublic: 28254721Semaste 29254721Semaste ConnectionSharedMemory (); 30254721Semaste 31254721Semaste virtual 32254721Semaste ~ConnectionSharedMemory (); 33254721Semaste 34254721Semaste virtual bool 35254721Semaste IsConnected () const; 36254721Semaste 37254721Semaste virtual lldb::ConnectionStatus 38254721Semaste BytesAvailable (uint32_t timeout_usec, Error *error_ptr); 39254721Semaste 40254721Semaste virtual lldb::ConnectionStatus 41254721Semaste Connect (const char *s, Error *error_ptr); 42254721Semaste 43254721Semaste virtual lldb::ConnectionStatus 44254721Semaste Disconnect (Error *error_ptr); 45254721Semaste 46254721Semaste virtual size_t 47254721Semaste Read (void *dst, 48254721Semaste size_t dst_len, 49254721Semaste uint32_t timeout_usec, 50254721Semaste lldb::ConnectionStatus &status, 51254721Semaste Error *error_ptr); 52254721Semaste 53254721Semaste virtual size_t 54254721Semaste Write (const void *src, size_t src_len, lldb::ConnectionStatus &status, Error *error_ptr); 55254721Semaste 56254721Semaste lldb::ConnectionStatus 57254721Semaste Open (bool create, const char *name, size_t size, Error *error_ptr); 58254721Semaste 59254721Semasteprotected: 60254721Semaste 61254721Semaste std::string m_name; 62254721Semaste int m_fd; // One buffer that contains all we need 63254721Semaste DataBufferMemoryMap m_mmap; 64254721Semasteprivate: 65254721Semaste DISALLOW_COPY_AND_ASSIGN (ConnectionSharedMemory); 66254721Semaste}; 67254721Semaste 68254721Semaste} // namespace lldb_private 69254721Semaste 70254721Semaste#endif // liblldb_ConnectionSharedMemory_h_ 71