/*********************************************************************************
** Copyright (c) 1992-2025 MAK Technologies, Inc.
** All rights reserved.
*********************************************************************************/

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!This is an auto-generated file.  Any changes will be destroyed!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

#pragma once

#include "managedInterface/message.h"

#include <string>
#include <vector>


class MANAGEDINTERFACE_DLL InitDISMessage : public DtMessage
{
public:




  InitDISMessage();
  virtual ~InitDISMessage();

   virtual std::string getDeviceAddress();
   virtual void setDeviceAddress(std::string val);

   virtual std::string getDestinationAddress();
   virtual void setDestinationAddress(std::string val);

   virtual int getPort();
   virtual void setPort(int val);

   virtual int getExercise();
   virtual void setExercise(int val);

   virtual int getSite();
   virtual void setSite(int val);

   virtual int getApplication();
   virtual void setApplication(int val);

   virtual int getDisVersion();
   virtual void setDisVersion(int val);

   virtual std::vector<std::string> getMulticastAddresses();
   virtual void setMulticastAddresses(std::vector<std::string> val);

   virtual std::string getSubnetMask();
   virtual void setSubnetMask(std::string val);

   virtual bool getUseAbsoluteTimestamps();
   virtual void setUseAbsoluteTimestamps(bool val);

   virtual int getNotifyLevel();
   virtual void setNotifyLevel(int val);

   virtual bool getNetworkBigEndian();
   virtual void setNetworkBigEndian(bool val);

   virtual int getMcastTtl();
   virtual void setMcastTtl(int val);



  virtual int messageSize();
  
   static DtMessage* decode(unsigned char* buffer, int length);
   static std::string theMessageName();

protected:
   static std::string theFullName;

   std::string myDeviceAddress;
   std::string myDestinationAddress;
   int myPort;
   int myExercise;
   int mySite;
   int myApplication;
   int myDisVersion;
   std::vector<std::string> myMulticastAddresses;
   std::string mySubnetMask;
   bool myUseAbsoluteTimestamps;
   int myNotifyLevel;
   bool myNetworkBigEndian;
   int myMcastTtl;

   virtual void serialize(DtStreamWriter& writer);
   virtual void deserialize(DtStreamReader& reader);
};
