/*
Copyright (C) 2014-2019 de4dot@gmail.com
This file is part of dnSpy
dnSpy is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
dnSpy is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with dnSpy. If not, see .
*/
using System;
namespace dnSpy.Contracts.Debugger.Attach {
///
/// A process that can be attached to
///
public abstract class AttachableProcess {
///
/// Process id
///
public abstract int ProcessId { get; }
///
/// Runtime id
///
public abstract RuntimeId RuntimeId { get; }
///
/// Gets the runtime GUID, see
///
public abstract Guid RuntimeGuid { get; }
///
/// Gets the runtime kind GUID, see
///
public abstract Guid RuntimeKindGuid { get; }
///
/// Runtime name, eg. "CLR v4.0.30319"
///
public abstract string RuntimeName { get; }
///
/// Short process name (filename)
///
public abstract string Name { get; }
///
/// Process title
///
public abstract string Title { get; }
///
/// Full filename
///
public abstract string Filename { get; }
///
/// Processor architecture
///
public abstract DbgArchitecture Architecture { get; }
///
/// Operating system
///
public abstract DbgOperatingSystem OperatingSystem { get; }
///
/// Gets all options required to attach to the process
///
///
public abstract AttachToProgramOptions GetOptions();
///
/// Attaches to the process
///
public abstract void Attach();
}
}