You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.9 KiB
C++
72 lines
2.9 KiB
C++
/*
|
|
* Copyright (c) Contributors to the Open 3D Engine Project.
|
|
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
*
|
|
*/
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <map>
|
|
|
|
#include <AzToolsFramework/SourceControl/SourceControlAPI.h>
|
|
|
|
#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([[maybe_unused]] REFIID riid, [[maybe_unused]] void** ppvObject) { return E_NOINTERFACE; };
|
|
virtual ULONG STDMETHODCALLTYPE AddRef() { return 0; };
|
|
virtual ULONG STDMETHODCALLTYPE Release() { return 0; };
|
|
//////////////////////////////////////////////////////////////////////////
|
|
};
|
|
|