/*
 * YCKDataFrameContext.h
 *
 *  Created on: Jul 9, 2020
 *      Author: dengminhao@axzt.net
 */
#pragma once
#ifndef YCKIT_YCKIT_DATA_YCKDATAFRAMECONTEXT_H_
#define YCKIT_YCKIT_DATA_YCKDATAFRAMECONTEXT_H_


#ifdef SDK_SIMPLE_INCLUDE
#include "common.h"
#include "YCKitExport.h"
#else
#include <YCKSdwan/common.h>
#include <YCKit/YCKitExport.h>
#endif

enum YCKDataType
{
    YCKDataTypeNone                  = 0,

    //白板交互中的数据类型
    YCKDataTypeWhiteBoardCommand     = 1,

	//视频mirror，透视等变换指令
    YCKDataTypeVideoTransformCommand = 2,

    //消息类型
    YCKDataTypeMessage               = 100,

	//200以上可以是自定义类型
	YCKDataTypeAppCommand			 = 200,
	YCKDataTypeAppData				 = 201,

	YCKDataTypeTest					 = 254,
};

class DLL_DECL YCKDataFrameContext
{
public:
	PROPERTY(nonatomic) YCKDataType   type = YCKDataTypeNone;
	PROPERTY(nonatomic) uint16_t attribute =0;

private:

public:
#ifndef SDK_SIMPLE_INCLUDE
	static std::shared_ptr<YCKDataFrameContext> initWithData(shared_const_buffer data);
	shared_const_buffer toData();
#endif
};

#endif
