7#include <unordered_map>
11#ifdef MT_CONNECTOR_CPP_EXPORTS
12#define MT_CONNECTOR_EXPORT __declspec(dllexport)
14#define MT_CONNECTOR_EXPORT __declspec(dllimport)
23namespace MTConnectorSDK
33 AllFilesUpToDate = 1000,
45 ReplicationStarted = 1003,
49 ReplicationComplete = 1004,
57 PackageDisabled = 1006,
61 ProcessOwnedLockRemoved = 1007,
65 PackageVersionCreated = 1008,
69 PackageDeleted = 1009,
73 PackageArchived = 1010,
77 PackageRestored = 1011,
85 FileDownloaded = 1101,
89 FileUpdatedLocally = 1102,
93 FileUpdatedOnServer = 1103,
97 FileRemovedOnServer = 1104,
101 FileReplicated = 1105,
105 FileDiscarded = 1106,
109 FileCheckedOut = 1107,
113 FileCheckedIn = 1108,
117 FileUncheckedOut = 1109,
121 FileChangesDiscarded = 1110,
125 FileVersionsCleanedUp = 1111,
129 FileUploadInProgress = 1112,
133 FileDownloadInProgress = 1113,
137 PreparingFileUpload = 1114,
141 FileNoLongerExists = 1115,
145 FileCheckedOutElsewhere = 1116,
153 ConnectionEstablished = 2001,
157 ConnectionLost = 2002,
161 GracefulShutdown = 2003,
169 ServerRegistered = 2005,
173 AccessTokenSuccess = 2006,
177 PackageEnabled = 2007,
182 ServiceUIDMismatch = 2008,
186 PackageAutoEnableUndetermined = 2009,
190 ClientCompatibilityError = 2010,
194 PackagePreviouslyDeleted = 2011,
199 SSLErrorDetected = 2012,
203 GeneralSyncError = 4000,
207 GeneralReplicationError = 4001,
215 PackageConfigurationNotFound = 4003,
221 AccessTokenRequired = 4004,
225 ServerRegistrationFailed = 4005,
229 LockPackageFailed = 4006,
233 UnlockPackageFailed = 4007,
237 EnablePackageFailed = 4008,
241 UpdateLocalFailed = 4009,
245 UpdateServerFailed = 4010,
249 PackageValidationFailed = 4011,
257 CreateVersionFailed = 4013,
261 PackageDeletionFailed = 4014,
265 PrintDiagnosticsFailed = 4015,
269 AccessForbidden = 4016,
273 PackageAccessDenied = 4017,
296 std::unordered_map<std::string, std::string>
tags;
447 std::vector<ConfigSchemaItem>
items;
492 std::vector<LocalTagRecord>
tags;
516 std::chrono::system_clock::time_point
time;
547 MT_CONNECTOR_EXPORT
bool LoadPackageConfiguration(
const std::string& packageUID,
PackageConfiguration& instance);
557 enum class RegisterServerResultCodes
566 ServerAlreadyRegistered = 1,
574 IncompatibleClient = 3
580 MT_CONNECTOR_EXPORT RegisterServerResultCodes RegisterServer(
const std::string& serverURL,
bool showUI =
false);
585 MT_CONNECTOR_EXPORT concurrency::task<RegisterServerResultCodes> RegisterServerTask(
const std::string& serverURL,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
589 enum class EnablePackageResultCodes
598 PackageConfigurationNotFound = 1,
602 PackageAlreadyEnabled = 2,
606 PackagePreviouslyDeleted = 3,
610 ServerURLNotValid = 4,
614 InsufficientPermissions = 5,
622 IncompatibleClient = 7
628 MT_CONNECTOR_EXPORT EnablePackageResultCodes EnablePackage(
const std::string& packageUID,
const std::string& localRoot =
"",
const std::string& serverURL =
"",
bool showUI =
false);
633 MT_CONNECTOR_EXPORT concurrency::task<EnablePackageResultCodes> EnablePackageTask(
const std::string& packageUID,
const std::string& localRoot =
"",
const std::string& serverURL =
"",
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
637 enum class CreateVersionResultCodes
646 PackageConfigurationNotFound = 1,
650 InsufficientPermissions = 2,
658 IncompatibleClient = 4
664 MT_CONNECTOR_EXPORT CreateVersionResultCodes CreateVersion(
const std::string& packageUID,
const std::string& comment =
"",
bool showUI =
false);
669 MT_CONNECTOR_EXPORT concurrency::task<CreateVersionResultCodes> CreateVersionTask(
const std::string& packageUID,
const std::string& comment =
"",
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
673 enum class LockPackageResultCodes
682 PackageConfigurationNotFound = 1,
686 PackageAlreadyLocked = 2,
690 FilesCheckedOutElsewhere = 3,
698 PackageNotEnabled = 5,
702 PackageProcessing = 6,
706 InsufficientPermissions = 7,
714 IncompatibleClient = 9
720 MT_CONNECTOR_EXPORT LockPackageResultCodes LockPackage(
const std::string& packageUID,
const int& ownerProcess = 0,
bool showUI =
false);
725 MT_CONNECTOR_EXPORT concurrency::task<LockPackageResultCodes> LockPackageTask(
const std::string& packageUID,
const int& ownerProcess = 0,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
729 enum class UnlockPackageResultCodes
738 PackageConfigurationNotFound = 1,
742 PackageNotLocked = 2,
750 IncompatibleClient = 4
756 MT_CONNECTOR_EXPORT UnlockPackageResultCodes UnlockPackage(
const std::string& packageUID,
bool discardChanges =
false,
bool showUI =
false);
761 MT_CONNECTOR_EXPORT concurrency::task<UnlockPackageResultCodes> UnlockPackageTask(
const std::string& packageUID,
bool discardChanges =
false,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
765 enum class SyncNowResultCodes
774 PackageConfigurationNotFound = 1,
778 PackageNotEnabled = 2,
790 IncompatibleClient = 5
796 MT_CONNECTOR_EXPORT SyncNowResultCodes SyncNow(
const std::string& packageUID,
bool showUI =
false);
801 MT_CONNECTOR_EXPORT concurrency::task<SyncNowResultCodes> SyncNowTask(
const std::string& packageUID,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
805 enum class UpdateServerResultCodes
814 PackageConfigurationNotFound = 1,
818 LocalFileNotFound = 2,
822 ServerFileNotFound = 3,
826 ServerFileCheckedOut = 4,
834 IncompatibleClient = 6
840 MT_CONNECTOR_EXPORT UpdateServerResultCodes UpdateServer(
const std::string& packageUID,
const std::string& filePath,
bool showUI =
false);
845 MT_CONNECTOR_EXPORT concurrency::task<UpdateServerResultCodes> UpdateServerTask(
const std::string& packageUID,
const std::string& filePath,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
849 enum class UpdateLocalResultCodes
858 PackageConfigurationNotFound = 1,
862 LocalFileNotFound = 2,
866 ServerFileNotFound = 3,
874 IncompatibleClient = 5
880 MT_CONNECTOR_EXPORT UpdateLocalResultCodes UpdateLocal(
const std::string& packageUID,
const std::string& filePath,
bool showUI =
false);
885 MT_CONNECTOR_EXPORT concurrency::task<UpdateLocalResultCodes> UpdateLocalTask(
const std::string& packageUID,
const std::string& filePath,
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
889 enum class PrintDiagnosticsResultCodes
902 IncompatibleClient = 2
908 MT_CONNECTOR_EXPORT PrintDiagnosticsResultCodes PrintDiagnostics(
bool showUI =
false);
913 MT_CONNECTOR_EXPORT concurrency::task<PrintDiagnosticsResultCodes> PrintDiagnosticsTask(
bool showUI =
false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
918 MT_CONNECTOR_EXPORT std::vector<std::string> ListServerURLs();
923 MT_CONNECTOR_EXPORT std::vector<PackageConfiguration> ListServerConfigurations();
928 MT_CONNECTOR_EXPORT std::vector<PackageConfiguration> ListPackageConfigurations();
935 MT_CONNECTOR_EXPORT std::vector<PackageConfiguration> FindPackageConfigurations(
const std::string& jsonPath,
const std::string& testValue,
bool negate =
false);
942 MT_CONNECTOR_EXPORT std::vector<LocalTagRecord> FindTags(
const std::string& nameFilter =
"",
const std::string& valueFilter =
"",
const std::string& serviceUID =
"",
bool fuzzyMatch =
false);
949 MT_CONNECTOR_EXPORT std::vector<LocalFileRecord> FindFiles(
const std::string& tagName,
const std::string& tagValue,
const std::string& serviceUID =
"",
bool fuzzyMatch =
false);
956 MT_CONNECTOR_EXPORT std::vector<LocalFileRecord> FindFiles(
const std::unordered_map<std::string, std::string>& tagCriteria,
const std::string& serviceUID =
"",
bool fuzzyMatch =
false);
965 MT_CONNECTOR_EXPORT std::vector<LocalFileRecord> FindFiles(
const std::string& tagName,
const std::string& tagValue,
const std::string& fileNamePattern,
const std::string& serviceUID =
"",
bool fuzzyMatch =
false);
974 MT_CONNECTOR_EXPORT std::vector<LocalFileRecord> FindFiles(
const std::unordered_map<std::string, std::string>& tagCriteria,
const std::string& fileNamePattern,
const std::string& serviceUID =
"",
bool fuzzyMatch =
false);
983 MT_CONNECTOR_EXPORT std::vector<LocalFileRecord> EvaluateFilter(
const std::string& filter,
const std::string& packageUID =
"",
const std::string& serviceUID =
"");
989 MT_CONNECTOR_EXPORT std::vector<std::string> GetAccessiblePackages(
const std::string& serviceUID =
"");
995 MT_CONNECTOR_EXPORT std::vector<std::string> GetInaccessiblePackages(
const std::string& serviceUID =
"");
1001 MT_CONNECTOR_EXPORT std::vector<std::string> GetDeletedPackages(
const std::string& serviceUID =
"");
1007 MT_CONNECTOR_EXPORT std::vector<std::string> GetArchivedPackages(
const std::string& serviceUID =
"");
1013 MT_CONNECTOR_EXPORT std::string GetShellExtensionName();
1022 MT_CONNECTOR_EXPORT
PackageMetrics LoadPackageMetrics(
const std::string& packageUID,
const std::string& serviceUID =
"");
1028 MT_CONNECTOR_EXPORT
ConfigSchema LoadConfigSchema(
const std::string& root);
1033 MT_CONNECTOR_EXPORT std::vector<std::string> GetPermittedValues(
const std::string& configPath);
1039 MT_CONNECTOR_EXPORT
bool IsMineTrustConnectorInstalled();
1045 MT_CONNECTOR_EXPORT
bool IsMineTrustConnectorRunning();
1054 MT_CONNECTOR_EXPORT RegistrationWrapper RegisterEvents(std::function<
void(
const MTConnectorEvent&)> callback,
const std::list<LogEvent>& eventIDs = {});
1059 MT_CONNECTOR_EXPORT std::vector<std::string> EnumerateLocalContents(
const std::string& packageUID);
1065 MT_CONNECTOR_EXPORT std::vector<std::string> EnumerateLocalFilesByTag(
const std::string& packageUID,
const std::string& tagName,
const std::string& tagValue);
1070 MT_CONNECTOR_EXPORT
bool IsInScope(
const std::string& packageUID,
const std::string& localFilePath);
1085 MT_CONNECTOR_EXPORT
void ExcludeFromPackage(
PackageConfiguration& instance,
const std::string& localFilePath);
1091 MT_CONNECTOR_EXPORT
void TagFile(
PackageConfiguration& instance,
const std::string& localFilePath,
const std::string& tagName,
const std::string& tagValue);
1097 MT_CONNECTOR_EXPORT
void RemoveTag(
PackageConfiguration& instance,
const std::string& localFilePath,
const std::string& tagName);
1106 MT_CONNECTOR_EXPORT concurrency::task<void> ReceiveFiles(
const std::vector<LocalFileRecord>& selection, std::function<
void(
const std::vector<LocalFileRecord>&)> filesReceivedCallback, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
1116 MT_CONNECTOR_EXPORT concurrency::task<void> SendFiles(
const std::vector<LocalFileRecord>& selection, std::function<
PackageConfiguration(
const LocalFileRecord&)> packageSelectionCallback, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
Definition MTConnectorSDK.h:439
std::string root
Definition MTConnectorSDK.h:443
std::vector< ConfigSchemaItem > items
Definition MTConnectorSDK.h:447
Definition MTConnectorSDK.h:415
ConfigSchemaItem * parent
Definition MTConnectorSDK.h:419
std::vector< ConfigSchemaItem > children
Definition MTConnectorSDK.h:427
std::string value
Definition MTConnectorSDK.h:423
std::string fullPath
Definition MTConnectorSDK.h:431
Definition MTConnectorSDK.h:280
std::unordered_map< std::string, std::string > tags
Definition MTConnectorSDK.h:296
std::vector< std::string > files
Definition MTConnectorSDK.h:288
std::string packageUID
Definition MTConnectorSDK.h:284
std::string retention
Definition MTConnectorSDK.h:300
std::vector< std::string > extensions
Definition MTConnectorSDK.h:292
Definition MTConnectorSDK.h:480
std::vector< LocalTagRecord > tags
Definition MTConnectorSDK.h:492
std::string localFilePath
Definition MTConnectorSDK.h:500
std::unique_ptr< int > fileID
Definition MTConnectorSDK.h:496
std::string breadcrumb
Definition MTConnectorSDK.h:488
std::string name
Definition MTConnectorSDK.h:484
Definition MTConnectorSDK.h:459
std::string name
Definition MTConnectorSDK.h:463
std::string value
Definition MTConnectorSDK.h:467
std::unique_ptr< int > folderID
Definition MTConnectorSDK.h:471
Definition MTConnectorSDK.h:507
std::unordered_map< std::string, std::string > eventArgs
Definition MTConnectorSDK.h:540
LogEvent eventId
Definition MTConnectorSDK.h:512
int level
Definition MTConnectorSDK.h:528
std::string message
Definition MTConnectorSDK.h:520
std::string packageUID
Definition MTConnectorSDK.h:536
std::unique_ptr< int64_t > recordId
Definition MTConnectorSDK.h:524
std::chrono::system_clock::time_point time
Definition MTConnectorSDK.h:516
std::string filePath
Definition MTConnectorSDK.h:532
Definition MTConnectorSDK.h:309
std::string displayName
Definition MTConnectorSDK.h:330
std::string serverUrl
Definition MTConnectorSDK.h:338
std::vector< IncludeConfiguration > include
Definition MTConnectorSDK.h:357
std::string localRoot
Definition MTConnectorSDK.h:342
static MT_CONNECTOR_EXPORT const std::string PRIVATE_PACKAGE_VISIBILITY
Definition MTConnectorSDK.h:317
std::string filter
Definition MTConnectorSDK.h:386
static MT_CONNECTOR_EXPORT const std::string SHARED_PACKAGE_VISIBILITY
Definition MTConnectorSDK.h:313
std::string owner
Definition MTConnectorSDK.h:375
bool enabled
Definition MTConnectorSDK.h:326
std::vector< std::string > exclude
Definition MTConnectorSDK.h:362
std::string filePath
Definition MTConnectorSDK.h:321
std::vector< std::string > tagNamingPatterns
Definition MTConnectorSDK.h:352
std::string visibility
Definition MTConnectorSDK.h:381
std::string mineTrustRoot
Definition MTConnectorSDK.h:347
std::string packageUID
Definition MTConnectorSDK.h:334
bool exclusiveCheckOut
Definition MTConnectorSDK.h:370
int targetVersion
Definition MTConnectorSDK.h:366
Definition MTConnectorSDK.h:396
int totalFiles
Definition MTConnectorSDK.h:400
int localFiles
Definition MTConnectorSDK.h:404
int percentageDownloaded
Definition MTConnectorSDK.h:408
Definition MTConnectorSDK.cpp:478