@@ -2739,6 +2739,114 @@ arv_camera_gv_set_packet_size_adjustment (ArvCamera *camera, ArvGvPacketSizeAdju
27392739 arv_gv_device_set_packet_size_adjustment (ARV_GV_DEVICE (priv -> device ), adjustment );
27402740}
27412741
2742+ /**
2743+ * arv_camera_gv_configure_action_command:
2744+ * @camera: a #ArvCamera
2745+ * @command_name: the action command that will be configured (1-based)
2746+ * @device_key: a user defined 'password' that will be used to authorize action commands
2747+ * @group_key: a user defined group that will have to match for an action command
2748+ * @group_mask: a bit field that gets matched to a mask in the action command
2749+ * @error: a #GError placeholder, %NULL to ignore
2750+ *
2751+ * Configure a camera to accept action commands
2752+ *
2753+ * Since: 0.8.7
2754+ */
2755+
2756+ void
2757+ arv_camera_gv_configure_action_command (ArvCamera * camera , const char * command_name ,
2758+ guint32 device_key , guint32 group_key , guint32 group_mask , GError * * error )
2759+ {
2760+ GError * local_error = NULL ;
2761+
2762+ g_return_if_fail (arv_camera_is_gv_device (camera ));
2763+
2764+ if (error == NULL )
2765+ arv_camera_set_string (camera , "ActionSelector" , command_name , & local_error );
2766+ if (error == NULL )
2767+ arv_camera_set_integer (camera , "ActionDeviceKey" , device_key , & local_error );
2768+ if (error == NULL )
2769+ arv_camera_set_integer (camera , "ActionGroupKey" , group_key , & local_error );
2770+ if (error == NULL )
2771+ arv_camera_set_integer (camera , "ActionGroupMask" , group_key , & local_error );
2772+
2773+ if (local_error != NULL )
2774+ g_propagate_error (error , local_error );
2775+ }
2776+
2777+ /**
2778+ * arv_camera_gv_get_available_action_commands:
2779+ * @camera: a #ArvCamera
2780+ * @n_commands: (out): number of action commands
2781+ * @error: a #GError placeholder, %NULL to ignore
2782+ *
2783+ * Returns: (array length=n_commands) (transfer container): a newly allocated array of strings, which must be freed
2784+ * using g_free().
2785+ *
2786+ * Since: 0.8.7
2787+ */
2788+
2789+ const char * *
2790+ arv_camera_gv_get_available_action_commands (ArvCamera * camera , guint * n_commands , GError * * error )
2791+ {
2792+ return arv_camera_dup_available_enumerations_as_strings (camera , "ActionSelector" , n_commands , error );
2793+ }
2794+
2795+ /**
2796+ * arv_camera_gv_issue_action_command:
2797+ * @device_key: a user defined 'password' that will be used to authorize action commands
2798+ * @group_key: a user defined group that will have to match for an action command
2799+ * @group_mask: a bit field that gets matched to a mask in the action command
2800+ * @broadcast_address: the address the action command is sent to
2801+ * @inet_addresses: (out): a placeholder for an array of acknowledge IP adresses
2802+ * @n_acknowledges: (out): a placeholder for the number of ackowledges
2803+ * @error: a GError placeholder, %NULL to ignore
2804+ *
2805+ * Issue action command
2806+ *
2807+ * Returns: %TRUE if successfull
2808+ *
2809+ * Since: 0.8.7
2810+ */
2811+
2812+ gboolean
2813+ arv_camera_gv_issue_action_command (guint32 device_key , guint32 group_key , guint32 group_mask ,
2814+ GInetAddress * broadcast_address ,
2815+ GInetAddress * * inet_addresses , guint * n_acknowledges , GError * * error )
2816+ {
2817+ return arv_gv_device_issue_scheduled_action_command (device_key , group_key , group_mask ,
2818+ 0 , broadcast_address ,
2819+ inet_addresses , n_acknowledges , error );
2820+ }
2821+
2822+ /**
2823+ * arv_camera_gv_issue_scheduled_action_command:
2824+ * @device_key: a user defined 'password' that will be used to authorize action commands
2825+ * @group_key: a user defined group that will have to match for an action command
2826+ * @group_mask: a bit field that gets matched to a mask in the action command
2827+ * @timestamp_ns: action time, in nanosecond
2828+ * @broadcast_address: the address the action command is sent to
2829+ * @inet_addresses: (out): a placeholder for an array of acknowledge IP adresses
2830+ * @n_acknowledges: (out): a placeholder for the number of ackowledges
2831+ * @error: a GError placeholder, %NULL to ignore
2832+ *
2833+ * Issue action command
2834+ *
2835+ * Returns: %TRUE if successfull
2836+ *
2837+ * Since: 0.8.7
2838+ */
2839+
2840+ gboolean
2841+ arv_camera_gv_issue_scheduled_action_command (guint32 device_key , guint32 group_key , guint32 group_mask ,
2842+ guint64 timestamp_ns , GInetAddress * broadcast_address ,
2843+ GInetAddress * * inet_addresses , guint * n_acknowledges , GError * * error )
2844+ {
2845+ return arv_gv_device_issue_scheduled_action_command (device_key , group_key , group_mask ,
2846+ timestamp_ns , broadcast_address ,
2847+ inet_addresses , n_acknowledges , error );
2848+ }
2849+
27422850/**
27432851 * arv_camera_is_uv_device:
27442852 * @camera: a #ArvCamera
0 commit comments