//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
// Version 3.0.12
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------

namespace pxr {

public class NdrNodeDiscoveryResult : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal NdrNodeDiscoveryResult(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NdrNodeDiscoveryResult obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  ~NdrNodeDiscoveryResult() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          UsdCsPINVOKE.delete_NdrNodeDiscoveryResult(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
      global::System.GC.SuppressFinalize(this);
    }
  }

  public NdrNodeDiscoveryResult(TfToken identifier, NdrVersion version, string name, TfToken family, TfToken discoveryType, TfToken sourceType, string uri, string resolvedUri, string sourceCode, SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t metadata, string blindData) : this(UsdCsPINVOKE.new_NdrNodeDiscoveryResult__SWIG_0(TfToken.getCPtr(identifier), NdrVersion.getCPtr(version), name, TfToken.getCPtr(family), TfToken.getCPtr(discoveryType), TfToken.getCPtr(sourceType), uri, resolvedUri, sourceCode, SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t.getCPtr(metadata), blindData), true) {
    if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
  }

  public NdrNodeDiscoveryResult(TfToken identifier, NdrVersion version, string name, TfToken family, TfToken discoveryType, TfToken sourceType, string uri, string resolvedUri, string sourceCode, SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t metadata) : this(UsdCsPINVOKE.new_NdrNodeDiscoveryResult__SWIG_1(TfToken.getCPtr(identifier), NdrVersion.getCPtr(version), name, TfToken.getCPtr(family), TfToken.getCPtr(discoveryType), TfToken.getCPtr(sourceType), uri, resolvedUri, sourceCode, SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t.getCPtr(metadata)), true) {
    if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
  }

  public NdrNodeDiscoveryResult(TfToken identifier, NdrVersion version, string name, TfToken family, TfToken discoveryType, TfToken sourceType, string uri, string resolvedUri, string sourceCode) : this(UsdCsPINVOKE.new_NdrNodeDiscoveryResult__SWIG_2(TfToken.getCPtr(identifier), NdrVersion.getCPtr(version), name, TfToken.getCPtr(family), TfToken.getCPtr(discoveryType), TfToken.getCPtr(sourceType), uri, resolvedUri, sourceCode), true) {
    if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
  }

  public NdrNodeDiscoveryResult(TfToken identifier, NdrVersion version, string name, TfToken family, TfToken discoveryType, TfToken sourceType, string uri, string resolvedUri) : this(UsdCsPINVOKE.new_NdrNodeDiscoveryResult__SWIG_3(TfToken.getCPtr(identifier), NdrVersion.getCPtr(version), name, TfToken.getCPtr(family), TfToken.getCPtr(discoveryType), TfToken.getCPtr(sourceType), uri, resolvedUri), true) {
    if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
  }

  public TfToken identifier {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_identifier_set(swigCPtr, TfToken.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_identifier_get(swigCPtr);
      TfToken ret = (cPtr == global::System.IntPtr.Zero) ? null : new TfToken(cPtr, false);
      return ret;
    } 
  }

  public NdrVersion version {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_version_set(swigCPtr, NdrVersion.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_version_get(swigCPtr);
      NdrVersion ret = (cPtr == global::System.IntPtr.Zero) ? null : new NdrVersion(cPtr, false);
      return ret;
    } 
  }

  public string name {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_name_set(swigCPtr, value);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      string ret = UsdCsPINVOKE.NdrNodeDiscoveryResult_name_get(swigCPtr);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public TfToken family {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_family_set(swigCPtr, TfToken.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_family_get(swigCPtr);
      TfToken ret = (cPtr == global::System.IntPtr.Zero) ? null : new TfToken(cPtr, false);
      return ret;
    } 
  }

  public TfToken discoveryType {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_discoveryType_set(swigCPtr, TfToken.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_discoveryType_get(swigCPtr);
      TfToken ret = (cPtr == global::System.IntPtr.Zero) ? null : new TfToken(cPtr, false);
      return ret;
    } 
  }

  public TfToken sourceType {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_sourceType_set(swigCPtr, TfToken.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_sourceType_get(swigCPtr);
      TfToken ret = (cPtr == global::System.IntPtr.Zero) ? null : new TfToken(cPtr, false);
      return ret;
    } 
  }

  public string uri {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_uri_set(swigCPtr, value);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      string ret = UsdCsPINVOKE.NdrNodeDiscoveryResult_uri_get(swigCPtr);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string resolvedUri {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_resolvedUri_set(swigCPtr, value);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      string ret = UsdCsPINVOKE.NdrNodeDiscoveryResult_resolvedUri_get(swigCPtr);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string sourceCode {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_sourceCode_set(swigCPtr, value);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      string ret = UsdCsPINVOKE.NdrNodeDiscoveryResult_sourceCode_get(swigCPtr);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t metadata {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_metadata_set(swigCPtr, SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = UsdCsPINVOKE.NdrNodeDiscoveryResult_metadata_get(swigCPtr);
      SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__unordered_mapT_TfToken_std__string_TfToken__HashFunctor_t(cPtr, false);
      return ret;
    } 
  }

  public string blindData {
    set {
      UsdCsPINVOKE.NdrNodeDiscoveryResult_blindData_set(swigCPtr, value);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      string ret = UsdCsPINVOKE.NdrNodeDiscoveryResult_blindData_get(swigCPtr);
      if (UsdCsPINVOKE.SWIGPendingException.Pending) throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

}

}
