/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #pragma once #include #include #include "IEditorClassFactory.h" // Source control status of item. enum ESccFileAttributes { SCC_FILE_ATTRIBUTE_INVALID = 0x0000, // File is not found. SCC_FILE_ATTRIBUTE_NORMAL = 0x0001, // Normal file on disk. SCC_FILE_ATTRIBUTE_READONLY = 0x0002, // Read only files cannot be modified at all, either read only file not under source control or file in packfile. SCC_FILE_ATTRIBUTE_INPAK = 0x0004, // File is inside pack file. SCC_FILE_ATTRIBUTE_MANAGED = 0x0008, // File is managed under source control. SCC_FILE_ATTRIBUTE_CHECKEDOUT = 0x0010, // File is under source control and is checked out. SCC_FILE_ATTRIBUTE_BYANOTHER = 0x0020, // File is under source control and is checked out by another user. SCC_FILE_ATTRIBUTE_FOLDER = 0x0040, // Managed folder. SCC_FILE_ATTRIBUTE_LOCKEDBYANOTHER = 0x0080, // File is under source control and is checked out and locked by another user. SCC_FILE_ATTRIBUTE_NOTATHEAD = 0x0100, // File is under source control and is not the latest version of the file SCC_FILE_ATTRIBUTE_ADD = 0x0200, // File is under source control and is marked for add SCC_FILE_ATTRIBUTE_MOVED = 0x0400, // File is under source control and is marked for move/add }; ////////////////////////////////////////////////////////////////////////// // Description // This interface provide access to the source control functionality. ////////////////////////////////////////////////////////////////////////// struct ISourceControl : public IUnknown { DEFINE_UUID(0x1D391E8C, 0xA124, 0x46bb, 0x80, 0x8D, 0x9B, 0xCA, 0x15, 0x5B, 0xCA, 0xFD) // Source Control State enum ConnectivityState { Connected = 0, BadConfiguration, Disconnected_Retrying, Disconnected, }; using SourceControlState = AzToolsFramework::SourceControlState; //function to enable/disable source control virtual void SetSourceControlState(SourceControlState state) = 0; virtual ConnectivityState GetConnectivityState() = 0; // Show settings dialog virtual void ShowSettings() = 0; ////////////////////////////////////////////////////////////////////////// // IUnknown ////////////////////////////////////////////////////////////////////////// virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject) { return E_NOINTERFACE; }; virtual ULONG STDMETHODCALLTYPE AddRef() { return 0; }; virtual ULONG STDMETHODCALLTYPE Release() { return 0; }; ////////////////////////////////////////////////////////////////////////// };