XSIShaderMultiPortConnection.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Crosswalk team
00004 //
00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.
00006 // Use of this software is subject to the terms of the Autodesk license agreement
00007 // provided at the time of installation or download, or which otherwise accompanies
00008 // this software in either electronic or hard copy form.
00009 //
00010 //***************************************************************************************
00011 
00012 #ifndef _XSISHADERMULTIPORTCONNECTION_H
00013 #define _XSISHADERMULTIPORTCONNECTION_H
00014 
00015 #include "Template.h"
00016 
00017 class CSLVariantParameter;
00018 
00025 class XSIEXPORT CSLXSIShaderMultiPortConnection
00026     : public CSLTemplate
00027 {
00028 public:
00029 
00035     CSLXSIShaderMultiPortConnection(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00036 
00039     virtual ~CSLXSIShaderMultiPortConnection();
00040 
00041     SI_Error Synchronize();
00042 
00046     CSLTemplate::ETemplateType Type(){ return CSLTemplate::XSI_SHADER_MULTI_PORT_CONNECTION; }
00047 
00051     SI_Char* GetParameter();
00052 
00056     SI_Void             SetParameter(SI_Char* in_pParameter);
00057 
00061     CSLStringProxy*     GetParameterProxy(){return &m_szParameter;};
00062 
00066     SI_Char*            GetPortName();
00067 
00071     SI_Void             SetPortName( SI_Char* in_pPortName );
00072 
00076     CSLStringProxy*     GetPortNameProxy(){return &m_szPortName;};
00077 
00078 private:
00079     CSLStringProxy m_szParameter;
00080     CSLStringProxy m_szPortName;
00081     SI_Void *m_pReserved;
00082 };
00083 
00084 #endif // XSISHADERMULTIPORTCONNECTION