added everything
This commit is contained in:
185
lib/maxsdk70/include/maxnet_manager.h
Executable file
185
lib/maxsdk70/include/maxnet_manager.h
Executable file
@@ -0,0 +1,185 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// ---------------------------
|
||||
// File ....: maxnet_manager.h
|
||||
// ---------------------------
|
||||
// Author...: Gus J Grubba
|
||||
// Date ....: February 2000
|
||||
// O.S. ....: Windows 2000
|
||||
//
|
||||
// History .: Feb, 15 2000 - Created
|
||||
//
|
||||
// 3D Studio Max Network Rendering Classes
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MAXNET_MANAGER_H_
|
||||
#define _MAXNET_MANAGER_H_
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
//-- Global Server State
|
||||
//
|
||||
|
||||
#define JOB_STATE_COMPLETE 0
|
||||
#define JOB_STATE_WAITING 1
|
||||
#define JOB_STATE_BUSY 2
|
||||
#define JOB_STATE_ERROR 3
|
||||
#define JOB_STATE_SUSPENDED 4
|
||||
|
||||
typedef struct tag_JobList {
|
||||
Job job;
|
||||
HJOB hJob;
|
||||
WORD state;
|
||||
} JobList;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-- MaxNetCallBack
|
||||
//
|
||||
// Note: Return as soon as possible from these calls. They block the API thread
|
||||
// and nothing will happen until you return. If you have to do some processing,
|
||||
// post a message to your own code and return immediately. Also note that these
|
||||
// calls may come from a separate thread than your main process thread.
|
||||
//
|
||||
|
||||
class MAXNETEXPORT MaxNetCallBack {
|
||||
public:
|
||||
//-- Return "true" to cancel, "false" to continue
|
||||
virtual bool Progress (int total, int current){return false;}
|
||||
virtual void ProgressMsg (const TCHAR *message){;}
|
||||
//-- Notifies the Manager Went Down
|
||||
virtual void ManagerDown ( ){;}
|
||||
//-- Notifies something has changed (new job, new server, new frame, etc.)
|
||||
virtual void Update ( ){;}
|
||||
//-- Notifies someone wants control of the queue; Send grant control msg to manager;
|
||||
virtual void QueryControl ( TCHAR* station ){;}
|
||||
//-- Notifies someone has taken control of the queue (Another QueueManager for instance)
|
||||
virtual void QueueControl ( ){;}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-- Manager Session Class
|
||||
//
|
||||
|
||||
class MAXNETEXPORT MaxNetManager : public MaxNet {
|
||||
|
||||
public:
|
||||
|
||||
//-- Optional Call Back
|
||||
|
||||
virtual void SetCallBack ( MaxNetCallBack* cb )=0;
|
||||
|
||||
//-- Session
|
||||
|
||||
virtual bool FindManager ( short port, char* manager, char* netmask = "255.255.255.0" )=0;
|
||||
virtual void Connect ( short port, char* manager = NULL, bool enable_callback = false )=0;
|
||||
virtual void Disconnect ( )=0;
|
||||
virtual void GetManagerInfo ( ManagerInfo* info )=0;
|
||||
virtual bool KillManager ( )=0;
|
||||
virtual void EnableUpdate ( bool enable = true )=0;
|
||||
|
||||
virtual bool QueryManagerControl ( bool wait )=0;
|
||||
virtual bool TakeManagerControl ( )=0;
|
||||
virtual void GrantManagerControl ( bool grant )=0;
|
||||
virtual bool LockControl ( bool lock )=0;
|
||||
virtual int GetClientCount ( )=0;
|
||||
virtual int ListClients ( int start, int end, ClientInfo* clientList )=0;
|
||||
|
||||
//-- Jobs
|
||||
|
||||
virtual int GetJobCount ( )=0;
|
||||
virtual int ListJobs ( int start, int end, JobList* jobList )=0;
|
||||
virtual void GetJob ( HJOB hJob, JobList* jobList )=0;
|
||||
virtual void GetJob ( HJOB hJob, Job* job )=0;
|
||||
virtual void GetJobText ( HJOB hJob, CJobText& jobText, int count )=0;
|
||||
virtual void SetJob ( HJOB hJob, Job* job, CJobText& jobText, bool reset )=0;
|
||||
virtual int GetJobPriority ( HJOB hJob )=0;
|
||||
virtual bool SetJobPriority ( HJOB hJob, int priority )=0;
|
||||
virtual void SetJobOrder ( HJOB* hJob, DWORD count )=0;
|
||||
virtual void DeleteJob ( HJOB hJob )=0;
|
||||
virtual void SuspendJob ( HJOB hJob )=0;
|
||||
virtual void ActivateJob ( HJOB hJob )=0;
|
||||
virtual int GetJobServersCount ( HJOB hJob )=0;
|
||||
virtual int GetJobServers ( int start, int end, HJOB hJob, JobServer* servers )=0;
|
||||
virtual void GetJobServerStatus ( HJOB hJob, HSERVER hServer, TCHAR* status_text )=0;
|
||||
virtual void SuspendJobServer ( HJOB hJob, HSERVER hServer )=0;
|
||||
virtual void AssignJobServer ( HJOB hJob, HSERVER hServer )=0;
|
||||
virtual int GetJobFramesCount ( HJOB hJob )=0;
|
||||
virtual int GetJobFrames ( int start, int end, HJOB hJob, JOBFRAMES* frames )=0;
|
||||
virtual int GetJobLog ( int start, int count, HJOB hJob, TCHAR** buffer )=0;
|
||||
|
||||
virtual bool CheckOutputVisibility ( TCHAR* output, TCHAR* err )=0;
|
||||
virtual void AssignJob ( Job* job, TCHAR* archive, HSERVER* servers, CJobText& jobtext, DWORD blocksize = 0 )=0;
|
||||
|
||||
|
||||
//-- Servers (Global)
|
||||
|
||||
virtual int GetServerCount ( )=0;
|
||||
virtual int ListServers ( int start, int end, ServerList* serverList )=0;
|
||||
virtual void GetServer ( HSERVER hServer, ServerList* serverList )=0;
|
||||
virtual bool DeleteServer ( HSERVER hServer )=0;
|
||||
virtual bool ResetServerIndex ( HSERVER hServer )=0;
|
||||
virtual void GetWeekSchedule ( HSERVER hServer, WeekSchedule* schedule )=0;
|
||||
virtual void SetWeekSchedule ( HSERVER hServer, WeekSchedule* schedule )=0;
|
||||
virtual void GetServerNetStat ( HSERVER hServer, NetworkStatus* net_stat )=0;
|
||||
|
||||
virtual int GetServerGroupCount ( )=0;
|
||||
virtual int GetServerGroupXCount ( int group )=0;
|
||||
virtual int GetServerGroup ( int group, int count, HSERVER* grplist, TCHAR* name )=0;
|
||||
virtual void NewServerGroup ( int count, HSERVER* grplist, TCHAR* name )=0;
|
||||
virtual void DeleteServerGroup ( int group )=0;
|
||||
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-- Interface Class
|
||||
|
||||
class MaxNetworkInterface {
|
||||
public:
|
||||
virtual bool GetCurrentRenderer ( TCHAR* name, DWORD* id1, DWORD* id2)=0;
|
||||
};
|
||||
|
||||
//This class will have more methods with each version.
|
||||
//Version number indicates which methods are supported by a given implementation
|
||||
class MaxNetworkInterface2 : public MaxNetworkInterface {
|
||||
protected:
|
||||
int version;
|
||||
public:
|
||||
MaxNetworkInterface2() { version = 6010; } //version 6.0.1.0
|
||||
int GetMAXVersion() {return version;}
|
||||
void SetMAXVersion(int version) {this->version = version;}
|
||||
|
||||
//-- version 6.0.1.0 - begin
|
||||
virtual BOOL GetRendMultiThread() {return FALSE;}
|
||||
virtual BOOL GetRendSimplifyAreaLights() {return FALSE;}
|
||||
virtual BOOL GetUseAdvLight() {return FALSE;}
|
||||
virtual BOOL GetCalcAdvLight() {return FALSE;}
|
||||
//-- version 6.0.1.0 - end
|
||||
|
||||
//-- version 7.0.0.0 - begin
|
||||
//-- ADD VERSION 7 METHODS HERE
|
||||
//-- version 7.0.0.0 - end
|
||||
};
|
||||
|
||||
//Uses interface version 1
|
||||
MAXNETEXPORT void AssignJobEx(
|
||||
MaxNetManager* mgr,
|
||||
MaxNetworkInterface* maxIface,
|
||||
Job* job,
|
||||
TCHAR* archive,
|
||||
HSERVER* servers,
|
||||
CJobText& jobtext,
|
||||
DWORD blocksize = 0 );
|
||||
|
||||
//Uses interface version 2
|
||||
MAXNETEXPORT void AssignJobEx(
|
||||
MaxNetManager* mgr,
|
||||
MaxNetworkInterface2* maxIface,
|
||||
Job* job,
|
||||
TCHAR* archive,
|
||||
HSERVER* servers,
|
||||
CJobText& jobtext,
|
||||
DWORD blocksize = 0 );
|
||||
|
||||
#endif
|
||||
|
||||
//-- EOF: maxnet_manager.h ----------------------------------------------------
|
||||
Reference in New Issue
Block a user