.Net Plugin API

Проект FarPinDotNetIFace

Библиотека на Managed C++ объявляющая различные типы и интерфейсы используемые в .Net Plugin API аналогичные типам и интерфейсам в native Plugin API.

ФайлТипОписание
FARPluginKeys.hpp public __value enum KEY Аналог констант KEY_xxx
FARPluginContext.hpp FARHandle Алиас для IntPtr
public __gc class FARException : public ApplicationException  
public __value enum FMENU Аналог констант FMENU_xxx
public __value enum MIF Аналог констант MIF_xxx
public __value struct CHAR_INFO Аналог структуры CHAR_INFO
public __gc class FARMenuItemEx Аналог структуры FarMenuItemEx
public __value enum DI Аналог констант DI_xxx
public __value struct FARListItem Аналог структуры FarListItem
public __value enum DIF Аналог констант DIF_xxx
public __value enum BSTATE Аналог констант BSTATE_xxx
public __value enum LIF Аналог констант LIF_xxx
public __value enum LIFIND Аналог констант LIFIND_xxx
public __value enum LINFO Аналог констант LINFO_xxx
public __value struct FARDialogItem Аналог структуры FarDialogItem
public __value enum FDLG Аналог констант FDLG_xxx
public __value enum FMSG Аналог констант FMSG_xxx
public __value enum VF Аналог констант VF_xxx
public __value enum EF Аналог констант EF_xxx
public __value enum EEC Аналог констант EEC_xxx
public __value enum FIB Аналог констант FIB_xxx
public __value enum PTYPE Аналог констант PTYPE_xxx
public __value struct FARRect Аналог структуры RECT
public __value enum PFLAGS Аналог констант PFLAGS_xxx
public __abstract __value struct FARPanelInfo Аналог структуры PanelInfo
public __delegate FARWindowProc Аналог FARWINDOWPROC
public __value enum FCTL Аналог констант FCTL_xxx
public __gc struct FARCharTableSet Аналог структуры CharTableSet
public __value enum XLAT Аналог констант XLAT_xxx
public __value enum FRS Аналог констант FRS_xxx
public __value enum PN Аналог констант PN_xxx
public __value enum FLINK Аналог констант FLINK_xxx
public __delegate FARUserFunc Аналог FRSUSERFUNC
public __value enum FHELP Аналог констант FHELP_xxx
public __value enum ACTL Аналог констант ACTL_xxx
public __value enum EJECT Аналог констант EJECT_xxx
public __value enum WTYPE Аналог констант WTYPE_xxx
public __gc struct FARWindowInfo Аналог структуры WindowInfo
public __value enum KSFLAGS Аналог констант KSFLAGS_xxx
public __gc struct FARTwoIntsParam Вспомогательная структура для передачи двух Int из метода
public __value enum DM Аналог констант DM_xxx
public __value enum DN Аналог констант DN_xxx
public __gc __interface IFARServices Интерфейс описывающий функции экспортируемые FAR'ом
public __gc __interface IFARPluginContext : public IFARServices Интерфейс описывающий контекст передаваемый .Net плагину
FARPlugin.hpp FARHandle Алиас для IntPtr
FARStr Алиас для String*
filetime Алиас для System::Runtime::InteropServices::FILETIME. Нужен для обхода максроса FILETIME
public __value enum SM Аналог констант SN_xxx
public __value enum OPM Аналог констант OPM_xxx
public __value enum OPEN Аналог констант OPEN_xxx
public __value enum EE Аналог констант EE_xxx
public __value enum FE Аналог констант FE_xxx
public __value enum PKF Аналог констант PKF_xxx
public __value enum FARRetCode Константы возвращаемых значений для методов GetFiles, PutFiles, MakeDirectory
public __abstract __gc struct FARInputRecord Аналог структуры INPUT_RECORD
public __value enum CtrlKeyState Константы клавиатурных модефикаторов
public __gc struct FARKeyInputRec : public FARInputRecord Аналог структуры INPUT_RECORD для клавиатурных событий
public __gc struct FARMouseInputRec : public FARInputRecord Аналог структуры INPUT_RECORD для событий мыши
public __gc struct FARWindowBufferSizeInputRec : public FARInputRecord Аналог структуры INPUT_RECORD для событий изменения размеров консольного окна
public __gc struct FARMenuInputRec : public FARInputRecord Аналог структуры INPUT_RECORD для событий системного меню
public __gc struct FARFocusInputRec : public FARInputRecord Аналог структуры INPUT_RECORD для событий фокуса
public __abstract __gc struct FARInputRecord Аналог структуры INPUT_RECORD
public __value enum FILE_ATTRIBUTE Аналог констант FILE_ATTRIBUTE_xxx
public __gc struct Win32FindData Аналог структуры WIN32_FIND_DATA
public __value enum PPIF Аналог констант PPIF_xxx
public __gc struct FARPanelItem : Win32FindData Аналог структуры PluginPanelItem
public __value enum FARPanelItemFields Константы для указания полей элемента панели которые необходимо получить
public __abstract __gc struct FARPanelItemsIter : public FARPanelItem Итератор для перебора элементов панели
public __abstract __gc struct FARPanelItemsSelectableIter : public FARPanelItemsIter Итератор для перебора элементов панели с возможностью "отмечания" элементов
public __value struct FARInfoPanelLine Аналог структуры InfoPanelLine
public __gc struct FARPanelMode Аналог структуры PanelMode
public __gc struct FARKeyBarTitles Аналог структуры KeyBarTitles
public __value enum OPIF Аналог констант OPIF_xxx
public __gc struct FAROpenPluginInfo Аналог структуры OpenPluginInfo
public __value enum PF Аналог констант PF_xxx
public __gc struct FARPluginInfo Аналог структуры PluginInfo
public __gc __interface FARPlugin Интерфейс который должен реализовать плагин. Аналог функциональных указателей в PluginStartupInfo
public __gc struct FARConsts Различные вспомогательные константы. Сейчас содержит только INVALID_HANDLE.
AbstractFARPlugin.cpp public __abstract __gc class AbstractFARPlugin : public FARPlugin Базовый класс для реализации интерфейса FARPlugin

Проект FarPinDotNet

DLL написаная на Managed C++ реализующая интерфейс плагина native Plugin API и транслирующая вызовы и данные Plugin API в .Net плагин. Также обеспечивает вызов сервисных функций FAR из .Net плагина.

ФайлТип, функцияОписание
Stdafx.h ... Вспомогательные макросы, объявление глобальных указателей на managed объекты
util.h
util.cpp
template <class T> struct Child Smart pointer автоматических удаляющий объект на который указывает при вызове деструктора
Функция ToPSZ Преобразованее String в char*
Функция FreePSZ Освобождает native строку
Функция ToPSZArray Преобразованеи String[] в массив char*
Функция FreePSZArray Освобождает массив native строк
struct PSZ Smart pointer на временную native строку
Функция ToStr Преобразованеи char* в String
FARPanelItemsIterImpl.h
FARPanelItemsIterImpl.cpp
Функции ToFARPanelItem Преобразование структур представляющих элемент панели в managed объекты.
private __gc class FARPanelItemsIterImpl : public FARPanelItemsSelectableIter Managed итератор по массиву native структур представляющих элементы панели
FARPanelInfoImpl.h
FARPanelInfoImpl.cpp
private __gc class FARPanelInfoImpl : public FARPanelInfo Реализация managed объекта-обертки над native структурой PanelInfo.
FARPluginContextImpl.h
FARPluginContextImpl.cpp
private __gc class FARPluginContextImpl : public IFARPluginContext Реализация объекта-контекста плагина. Содержит функции-обертки над сервисными функциями экспортируемыми FAR'ом.
FARPinDotNet.h __gc struct OpenPluginInfoHolder Объект содержащий информацию о загруженом плагине (аналогичен структуре OpenPluginInfo)
FARPinDotNet.cpp ... Реализация функций экспортируемых FAR плагином. Реализуемые функции передают вызов .Net плагину.

Проект TestFPDN

Небольшая программа на Managed C++ для тестирования FarPinDotNet.dll

SourceForge.net Logo