//******************************************************************************************************
// COutputAdapter.h - Gbtc
//
// Copyright © 2012, Grid Protection Alliance. All Rights Reserved.
//
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may
// not use this file except in compliance with the License. You may obtain a copy of the License at:
//
// http://www.opensource.org/licenses/MIT
//
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
// License for the specific language governing permissions and limitations.
//
// Code Modification History:
// ----------------------------------------------------------------------------------------------------
// 01/27/2012 - J. Ritchie Carroll
// Generated original version of source code.
//
//******************************************************************************************************
#pragma once
using namespace System;
using namespace System::Collections::Generic;
using namespace System::ComponentModel;
using namespace GSF::TimeSeries;
using namespace GSF::TimeSeries::Adapters;
using namespace GSF;
namespace CSampleAdapters
{
///
/// Represents a C++ output adapter implementation sample.
///
[Description("Represents a C++ output adapter implementation sample.")]
public ref class COutputAdapter : public OutputAdapterBase
{
#pragma region [ Properties ]
public:
///
/// Returns a flag that determines if measurements sent to this are destined for archival.
///
property bool OutputIsForArchive
{
virtual bool get() override;
}
///
/// Gets the flag indicating if this supports temporal processing.
///
property bool SupportsTemporalProcessing
{
virtual bool get() override;
};
protected:
///
/// Gets flag that determines if this uses an asynchronous connection.
///
property bool UseAsyncConnect
{
virtual bool get() override;
};
#pragma endregion
#pragma region [ Methods ]
public:
///
/// Initializes .
///
virtual void Initialize() override;
///
/// Gets a short one-line status of this .
///
virtual String^ GetShortStatus(int maxLength) override;
protected:
///
/// Attempts to connect this .
///
virtual void AttemptConnection() override;
///
/// Attempts to disconnect this .
///
virtual void AttemptDisconnection() override;
///
/// Serializes measurements to data output stream.
///
virtual void ProcessMeasurements(array^ measurements) override;
#pragma endregion
};
}