public void InitializeCamera()
    {
        if (camera == null)
        {
            throw new InvalidOperationException();
        }

        camera.Init(context);
        camera_fs = camera.GetFS();

        files = new ArrayList();
        GetFileList();
    }
    public GPhotoCamera()
    {
        context = new Context();

        port_info_list = new PortInfoList();
        port_info_list.Load();

        abilities_list = new CameraAbilitiesList();
        abilities_list.Load(context);

        camera_list = new CameraList();

        selected_camera__camera_list_index = -1;

        camera    = null;
        port_info = null;
        camera_fs = null;
    }