public static void ThrowOnError(this FileRelayError value, string message)
 {
     if ((value != FileRelayError.Success))
     {
         throw new FileRelayException(value, message);
     }
 }
        public static FileRelayError file_relay_request_sources_timeout(FileRelayClientHandle client, out string sources, out iDeviceConnectionHandle connection, uint timeout)
        {
            System.Runtime.InteropServices.ICustomMarshaler sourcesMarshaler = NativeStringMarshaler.GetInstance(null);
            System.IntPtr  sourcesNative = System.IntPtr.Zero;
            FileRelayError returnValue   = FileRelayNativeMethods.file_relay_request_sources_timeout(client, out sourcesNative, out connection, timeout);

            sources = ((string)sourcesMarshaler.MarshalNativeToManaged(sourcesNative));
            sourcesMarshaler.CleanUpNativeData(sourcesNative);
            return(returnValue);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="FileRelayException"/> class with a specified error code and error message.
 /// <summary>
 /// <param name="error">
 /// The error code of the error that occurred.
 /// </param>
 /// <param name="message">
 /// A message which describes the error.
 /// </param>
 public FileRelayException(FileRelayError error, string message) : 
         base(string.Format("An FileRelay error occurred. {1}. The error code was {0}", error, message))
 {
     this.errorCode = error;
 }
 public static bool IsError(this FileRelayError value)
 {
     return(value != FileRelayError.Success);
 }