Files
Happy-Reconstruction/Lib/FlyCapture2/include/MultiSyncLibraryDefs.h
2020-01-27 18:56:50 +08:00

81 lines
2.8 KiB
C++

//=============================================================================
// Copyright © 2017 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
//=============================================================================
// $Id:
//=============================================================================
#ifndef MULTISYNCLIBRARYDEFS_H
#define MULTISYNCLIBRARYDEFS_H
#include <memory.h>
//=============================================================================
// Definitions file for MultiSync Library.
//
// Holds structures, enumerations and other global definitions that are used
// across the entire MultiSync API.
//=============================================================================
namespace MultiSyncLibrary
{
typedef enum {
PGRSyncError_OK = 0,
PGRSyncError_FAILED,
PGRSyncError_ALREADY_STARTED,
PGRSyncError_ALREADY_STOPPED,
PGRSyncError_CAMERA_NOT_FOUND,
PGRSyncError_UNKNOWN_ERROR,
} PGRSyncError;
typedef enum {
PGRSyncMessage_OK = 0,
PGRSyncMessage_STARTED,
PGRSyncMessage_STOPPED,
PGRSyncMessage_SYNCING,
PGRSyncMessage_NOMASTER,
PGRSyncMessage_THREAD_ERROR,
PGRSyncMessage_DEVICE_ERROR,
PGRSyncMessage_NOT_ENOUGH_DEVICES,
PGRSyncMessage_BUS_RESET,
PGRSyncMessage_NOT_INITIALIZED,
PGRSyncMessage_UNKNOWN_ERROR,
} PGRSyncMessage;
class SyncManager
{
public:
MULTISYNCLIBRARY_API SyncManager();
MULTISYNCLIBRARY_API ~SyncManager();
MULTISYNCLIBRARY_API PGRSyncError Start();
MULTISYNCLIBRARY_API PGRSyncError Stop();
MULTISYNCLIBRARY_API PGRSyncError RescanMasterTimingBus();
MULTISYNCLIBRARY_API PGRSyncMessage GetSyncStatus();
MULTISYNCLIBRARY_API double GetTimeSinceSynced();
MULTISYNCLIBRARY_API bool IsTimingBusConnected();
MULTISYNCLIBRARY_API bool EnableCrossPCSynchronization();
MULTISYNCLIBRARY_API bool DisableCrossPCSynchronization();
MULTISYNCLIBRARY_API bool QueryCrossPCSynchronizationSetting();
private:
struct PGRSyncData; // Forward declaration
PGRSyncData* m_pPGRSyncData;
};
}
#endif //MULTISYNCLIBRARYDEFS_H