/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   Copyright 1989-2018 by AutoDesSys, Inc.                                                 *
 *                                                                                           *
 *   This software and its associated documentation contains proprietary,                    *
 *   confidential, and trade secret information of AutoDesSys Inc. and may not be            *
 *   disclosed, copied in any form, or used for any purpose except as specifically           *
 *   permitted in writing by AutoDesSys, Inc.                                                *
 *                                                                                           *
 *   AutoDesSys, Inc. grants permission to use the software to those who purchase            *
 *   a license.  Such a usage will be made according to the terms and conditions             *
 *   specified in the license agreement to which a licensee agrees before installing         *
 *   and commencing usage of the software.  The license agreement can be found               *
 *   on the envelop that contains the software CD.                                           *
 *                                                                                           *
 *   AutoDesSys, Inc. also grants permission to licensees to develop extensions to           *
 *   the software, which can be in the form of scripts or plugins.  The permission           *
 *   includes calling the API and call back functions provided by AutoDesSys, Inc.           *
 *   and accessing information relevant to these functions and the general workings          *
 *   of form.Z, but only up to the point to which AutoDesSys, Inc. has chosen to             *
 *   expose, through its form.Z SDK Manual.  All extensions developed by third               *
 *   parties will include a copy of this copyright note in an easily accessible place or     *
 *   a clear instruction to read this original note by AutoDesSys, Inc.                      *
 *                                                                                           *
 *   All the software distributed under a license, either for the purpose of using it or     *
 *   for the purpose of developing extensions, is distributed AS IS, WITHOUT                 *
 *   WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND                                    *
 *   AutoDesSys, Inc. HEREBY DISCLAIMS ALL SUCH WARRANTIES,                                  *
 *   INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF                                         *
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.                                    *
 *                                                                                           *
 *   formZ, RenderZone, and RadioZity are registered trademarks of AutoDesSys, Inc.          *
 *                                                                                           *
 *   form.Z SDK, Version 8.6.3, Dec 03, 2018                                                 *
 *                                                                                           *
 *                                                                                           *
 *********************************************************************************************/



#ifndef __FORMZ_PLUGIN_GLUE_API_H
#define __FORMZ_PLUGIN_GLUE_API_H


#include "fzrt_api.h"

#include "fzpl_plugin_extern.h"
#include "fzpl_plugin.h"

#ifdef __cplusplus
extern "C" {
#endif


#define FZ_PLUGIN_FILE_EXTENSION	".fzp"

#define FZ_PLUGIN_FRAGMENT_NAME		"fz_plugin_frag"

#define FZ_PLUGIN_FILE_TYPE			"fzpl"

#define FZ_PLUGIN_FILE_CREATOR		"VTVS"


#define FZ_PLUGIN_DESCRIPTOR		"fz_descriptor"
FZPL_PLUGIN_DATA(char)				fz_descriptor[] = "formZ_Plugin";

#ifdef FZAPP_FREE_INCLUDE_INCLUDE
	#define FZ_PLUGIN_APP_FREE_VARIANT		"fz_app_free_variant"
	#define FZ_FREE_VARIANT					"fz_app_free"
	FZPL_PLUGIN_DATA(char)					fz_app_free_variant[] = FZ_FREE_VARIANT;
#endif

#ifdef FZAPP_LAYOUT_INCLUDE_INCLUDE
	#define FZ_PLUGIN_APP_LAYOUT_VARIANT	"fz_app_layout_variant"
	#define FZ_LAYOUT_VARIANT				"fz_app_layout"
	FZPL_PLUGIN_DATA(char)					fz_app_layout_variant[] = FZ_LAYOUT_VARIANT;
#endif

#ifndef FZ_BONZAI_EXCLUDE
#define FZ_PLUGIN_BONZAI_APP_VARIANT	"fz_app_bonzai3d_variant"
#define FZ_BONZAI_VARIANT				"fz_app_bonzai3d"
FZPL_PLUGIN_DATA(char)					fz_app_bonzai3d_variant[] = FZ_BONZAI_VARIANT;
#endif 

#ifndef FZ_FORMZ_EXCLUDE

#define FZ_PLUGIN_FORMZ_APP_VARIANT		"fz_app_formZ_variant"
#define FZ_FORMZ_VARIANT				"fz_app_formZ"
FZPL_PLUGIN_DATA(char)				fz_app_formZ_variant[] = FZ_FORMZ_VARIANT;
#endif 


#define FZ_PLUGIN_API_VERSION		"fz_API_version"
FZPL_PLUGIN_DATA(fzpl_vers_td)		fz_API_version = FZPL_VERS_MAKE(9,0,0,0);


#define FZ_PLUGIN_DEFAULTS			"fz_defaults"


#define FZ_PLUGIN_ENTRY				"fz_plugin_entry"
FZPL_PLUGIN_FUNC(fzrt_error_td)		fz_plugin_entry( const fzpl_fset_glue_fset * const fzpl_glue, fzpl_command_td message, const fzpl_host_config_td * const hostConfig );


#ifdef __cplusplus
}
#endif

#endif 

