text: //-----------------------------------------------------------------------------
  // <auto-generated>
  //   This code was generated by a tool.
  //
  //   Changes to this file may cause incorrect behavior and will be lost if
  //   the code is regenerated.
  //
  //   For more information, see: http://go.microsoft.com/fwlink/?LinkID=623246
  // </auto-generated>
  //-----------------------------------------------------------------------------
  #pragma once
  
  namespace com { namespace mtaulty { namespace AJHoloServer {
  
  ref class AJHoloServerSignals;
  
  public interface class IAJHoloServerSignals
  {
      event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerWorldAnchorAddedReceivedEventArgs^>^ WorldAnchorAddedReceived;
      event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramAddedReceivedEventArgs^>^ HologramAddedReceived;
      event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramRemovedReceivedEventArgs^>^ HologramRemovedReceived;
  };
  
  public ref class AJHoloServerSignals sealed : [Windows::Foundation::Metadata::Default] IAJHoloServerSignals
  {
  public:
      // Calling this method will send the WorldAnchorAdded signal to every member of the session.
      void WorldAnchorAdded(_In_ Platform::String^ interfaceMemberAnchorId);
  
      // This event fires whenever the WorldAnchorAdded signal is sent by another member of the session.
      virtual event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerWorldAnchorAddedReceivedEventArgs^>^ WorldAnchorAddedReceived 
      { 
          Windows::Foundation::EventRegistrationToken add(Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerWorldAnchorAddedReceivedEventArgs^>^ handler) 
          { 
              return _WorldAnchorAddedReceived += ref new Windows::Foundation::EventHandler<Platform::Object^>
              ([handler](Platform::Object^ sender, Platform::Object^ args)
              {
                  handler->Invoke(safe_cast<AJHoloServerSignals^>(sender), safe_cast<AJHoloServerWorldAnchorAddedReceivedEventArgs^>(args));
              }, Platform::CallbackContext::Same);
          } 
          void remove(Windows::Foundation::EventRegistrationToken token) 
          { 
              _WorldAnchorAddedReceived -= token; 
          } 
      internal: 
          void raise(AJHoloServerSignals^ sender, AJHoloServerWorldAnchorAddedReceivedEventArgs^ args) 
          { 
              _WorldAnchorAddedReceived(sender, args);
          } 
      }
  
      // Calling this method will send the HologramAdded signal to every member of the session.
      void HologramAdded(_In_ Platform::String^ interfaceMemberAnchorId, _In_ Platform::String^ interfaceMemberHoloId, _In_ Platform::String^ interfaceMemberHoloTypeName, _In_ AJHoloServerPosition^ interfaceMemberPosition);
  
      // This event fires whenever the HologramAdded signal is sent by another member of the session.
      virtual event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramAddedReceivedEventArgs^>^ HologramAddedReceived 
      { 
          Windows::Foundation::EventRegistrationToken add(Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramAddedReceivedEventArgs^>^ handler) 
          { 
              return _HologramAddedReceived += ref new Windows::Foundation::EventHandler<Platform::Object^>
              ([handler](Platform::Object^ sender, Platform::Object^ args)
              {
                  handler->Invoke(safe_cast<AJHoloServerSignals^>(sender), safe_cast<AJHoloServerHologramAddedReceivedEventArgs^>(args));
              }, Platform::CallbackContext::Same);
          } 
          void remove(Windows::Foundation::EventRegistrationToken token) 
          { 
              _HologramAddedReceived -= token; 
          } 
      internal: 
          void raise(AJHoloServerSignals^ sender, AJHoloServerHologramAddedReceivedEventArgs^ args) 
          { 
              _HologramAddedReceived(sender, args);
          } 
      }
  
      // Calling this method will send the HologramRemoved signal to every member of the session.
      void HologramRemoved(_In_ Platform::String^ interfaceMemberHoloId);
  
      // This event fires whenever the HologramRemoved signal is sent by another member of the session.
      virtual event Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramRemovedReceivedEventArgs^>^ HologramRemovedReceived 
      { 
          Windows::Foundation::EventRegistrationToken add(Windows::Foundation::TypedEventHandler<AJHoloServerSignals^, AJHoloServerHologramRemovedReceivedEventArgs^>^ handler) 
          { 
              return _HologramRemovedReceived += ref new Windows::Foundation::EventHandler<Platform::Object^>
              ([handler](Platform::Object^ sender, Platform::Object^ args)
              {
                  handler->Invoke(safe_cast<AJHoloServerSignals^>(sender), safe_cast<AJHoloServerHologramRemovedReceivedEventArgs^>(args));
              }, Platform::CallbackContext::Same);
          } 
          void remove(Windows::Foundation::EventRegistrationToken token) 
          { 
              _HologramRemovedReceived -= token; 
          } 
      internal: 
          void raise(AJHoloServerSignals^ sender, AJHoloServerHologramRemovedReceivedEventArgs^ args) 
          { 
              _HologramRemovedReceived(sender, args);
          } 
      }
  
  internal:
      void Initialize(_In_ ISignalEmitter^ emitter);
      void CallWorldAnchorAddedReceived(_In_ AJHoloServerSignals^ sender, _In_ AJHoloServerWorldAnchorAddedReceivedEventArgs^ args);
      void CallHologramAddedReceived(_In_ AJHoloServerSignals^ sender, _In_ AJHoloServerHologramAddedReceivedEventArgs^ args);
      void CallHologramRemovedReceived(_In_ AJHoloServerSignals^ sender, _In_ AJHoloServerHologramRemovedReceivedEventArgs^ args);
  
  private:
      ISignalEmitter^ m_emitter;
  
      virtual event Windows::Foundation::EventHandler<Platform::Object^>^ _WorldAnchorAddedReceived;
      virtual event Windows::Foundation::EventHandler<Platform::Object^>^ _HologramAddedReceived;
      virtual event Windows::Foundation::EventHandler<Platform::Object^>^ _HologramRemovedReceived;
  
      alljoyn_interfacedescription_member m_memberWorldAnchorAdded;
      alljoyn_interfacedescription_member m_memberHologramAdded;
      alljoyn_interfacedescription_member m_memberHologramRemoved;
  };
  
  } } } 
  