Logo Search packages:      
Sourcecode: f-spot version File versions  Download package

CameraList.cs

using System;
using System.Runtime.InteropServices;

namespace LibGPhoto2
{
      public class CameraList : Object 
      {
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_new (out IntPtr list);

            public CameraList ()
            {
                  IntPtr native;
                  Error.CheckError (gp_list_new (out native));
                                
                  this.handle = new HandleRef (this, native);
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_unref (HandleRef list);

            protected override void Cleanup ()
            {
                  gp_list_unref (handle);
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_count (HandleRef list);
            
            public int Count ()
            {
                  ErrorCode result = gp_list_count (handle);

                  if (Error.IsError (result))
                        throw Error.ErrorException (result);

                  return (int)result;
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_set_name (HandleRef list, int index, string name);

            public void SetName (int n, string name)
            {
                  ErrorCode result = gp_list_set_name(this.Handle, n, name);

                  if (Error.IsError (result))
                        throw Error.ErrorException (result);
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_set_value (HandleRef list, int index, string value);

            public void SetValue (int n, string value)
            {
                  ErrorCode result = gp_list_set_value (this.Handle, n, value);

                  if (Error.IsError (result))
                        throw Error.ErrorException (result);
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_get_name (HandleRef list, int index, out string name);

            public string GetName (int index)
            {
                  string name;

                  Error.CheckError (gp_list_get_name(this.Handle, index, out name));

                  return name;
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_get_value (HandleRef list, int index, out string value);

            public string GetValue (int index)
            {
                  string value;

                  Error.CheckError (gp_list_get_value(this.Handle, index, out value));

                  return value;
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_append (HandleRef list, string name, string value);

            public void Append (string name, string value)
            {
                  Error.CheckError (gp_list_append(this.Handle, name, value));
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_populate (HandleRef list, string format, int count);

            public void Populate (string format, int count)
            {
                  Error.CheckError (gp_list_populate(this.Handle, format, count));
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_reset (HandleRef list);

            public void Reset ()
            {
                  Error.CheckError (gp_list_reset(this.Handle));
            }
            
            [DllImport ("libgphoto2.so")]
            internal static extern ErrorCode gp_list_sort (HandleRef list);

            public void Sort ()
            {
                  Error.CheckError (gp_list_sort(this.Handle));
            }
            
            public int GetPosition(string name, string value)
            {
                  for (int index = 0; index < Count(); index++)
                  {
                        if (GetName(index) == name && GetValue(index) == value)
                              return index;
                  }
                  
                  return -1;
            }
      }
}

Generated by  Doxygen 1.6.0   Back to index