Inter-Addon Communication
Mods talking to an addon or more than one addon in Nitrocid
Inter-Addon Communication allows your mods to execute the publicly-available functions of a kernel addon. It allows your mods to talk to the kernel addons in a mechanism that doesn't interfere with the other end's operations.
How to call a publicly accessible addon function?
To execute custom addon functions in your mod, you must specify the full addon name, such as Extras - RSS Shell, and the function to execute in the ExecuteCustomAddonFunction() method:
public static object ExecuteCustomAddonFunction(KnownAddons addonName, string functionName)
public static object ExecuteCustomAddonFunction(KnownAddons addonName, string functionName, params object[] parameters)
public static object ExecuteCustomAddonFunction(string addonName, string functionName)
public static object ExecuteCustomAddonFunction(string addonName, string functionName, params object[] parameters)How can I get/set a value from/to a property or a field?
To get a property value or a field value from an addon, you can call the following functions:
public static object GetCustomAddonPropertyValue(KnownAddons addonName, string propertyName)
public static object GetCustomAddonFieldValue(KnownAddons addonName, string fieldName)
public static object GetCustomAddonPropertyValue(string addonName, string propertyName)
public static object GetCustomAddonFieldValue(string addonName, string fieldName)Similarly, to set a property value or a field value declared publicly by an addon, you can call the following functions:
Listing functions, properties, and fields
You can now list all the available functions, properties, and fields from a specific mod using one of the following functions:
Listing function and set property parameters
You can list all the function and set property parameters in depth by using the following functions:
Supported addons
Items that are marked in green, yellow, and red resemble functions, properties, and fields respectively. The following addons support inter-addon communication:
Nitrocid.Extras.ArchiveShell
ListArchiveEntriesExtractFileEntryPackFileChangeWorkingArchiveDirectoryChangeWorkingArchiveLocalDirectory
Nitrocid.Extras.Calendar
PrintCalendarPrintCalendar2PrintCalendar3AddEventRemoveEventListEventsLoadEventsLoadEventSaveEventsSaveEvents2SaveEventSaveEvent2AddReminderRemoveReminderListRemindersLoadRemindersLoadReminderSaveRemindersSaveReminders2SaveReminderSaveReminder2
Nitrocid.Extras.Contacts
GetContactsImportContactsInstallContactsInstallContacts2InstallContactFromMeCardRemoveContactRemoveContactsGetContactSearchNextSearchNext2SearchPreviousSearchPrevious2
Nitrocid.Extras.Diagnostics
GetThreadBacktraces
Nitrocid.Extras.Docking
DockScreenDockScreen2DoesDockScreenExistGetDockScreenNamesGetDockScreens
Nitrocid.Extras.Forecast
GetWeatherInfoGetWeatherInfo2PrintWeatherInfoPrintWeatherInfo2GetWeatherInfoOwmGetWeatherInfoOwm2GetWeatherInfoOwm3GetWeatherInfoOwm4PrintWeatherInfoOwmPrintWeatherInfoOwm2PreferredUnit
Nitrocid.Extras.FtpShell
FTPListRemoteFTPListRemote2FTPDeleteRemoteFTPChangeRemoteDirFTPMoveItemFTPCopyItemFTPChangePermissionsFTPGetHashFTPGetHashesFTPGetHashes2FTPGetFileFTPGetFile2FTPGetFolderFTPGetFolder2FTPUploadFileFTPUploadFile2FTPUploadFolderFTPUploadFolder2FTPDownloadToStringPromptForPasswordTryToConnectFileProgressMultipleProgress
Nitrocid.Extras.HttpShell
HttpDeleteHttpGetStringHttpGetHttpPutStringHttpPutFileHttpPostStringHttpPostFileHttpAddHeaderHttpRemoveHeaderHttpListHeadersHttpGetCurrentUserAgentHttpSetUserAgentNeutralizeUri
Nitrocid.Extras.JsonShell
OpenJsonFileCloseJsonFileSaveFileSaveFile2WasJsonEditedDetermineRootTypeDetermineTypeGetTokenGetTokenSafeGetTokenSafe2AddSetRemoveSerializeToString
Nitrocid.Extras.MailShell
CreateMailDirectoryDeleteMailDirectoryRenameMailDirectoryOpenFolderMailListDirectoriesMailListMessagesMailListMessages2MailRemoveMessageMailRemoveAllBySenderMailMoveAllBySenderDecryptMessageMailSendMessageMailSendMessage2MailSendEncryptedMessagePopulateMessagesShowPreview
Nitrocid.Extras.RssShell
GetFirstArticleSearchArticlesAddRSSFeedToBookmarkAddRSSFeedToBookmark2RemoveRSSFeedFromBookmarkRemoveRSSFeedFromBookmark2GetBookmarksGetBookmark
Nitrocid.Extras.SftpShell
SFTPListRemoteSFTPListRemote2SFTPDeleteRemoteSFTPChangeRemoteDirSFTPChangeLocalDirSFTPGetCanonicalPathSFTPGetFileSFTPUploadFileSFTPDownloadToStringPromptConnectionInfoSFTPTryToConnect
Nitrocid.Extras.SqlShell
IsSqlSqlEdit_OpenSqlFileSqlEdit_CheckSqlFileSqlEdit_SqlCommand
Nitrocid.Extras.Ssh
PromptConnectionInfoGetConnectionInfoInitializeSSHOpenShellOpenShell2OpenCommandOpenCommand2
Nitrocid.Extras.ToDoList
AddTaskRemoveTaskGetTaskGetTaskIndexTaskExistsSetDoneSetUndoneGetTaskNamesSaveTasksLoadTasks