rd_editcart — Rivendell Edit Cart C Library Function
#include <rivwebcapi/rd_editcart.h>
int RD_EditCart( | cart[], | |
edit_cart_values, | ||
hostname[], | ||
username[], | ||
passwd[], | ||
ticket[], | ||
cartnumber, | ||
user_agent[], | ||
numrecs) ; |
struct rd_cart * cart[]
; struct edit_cart_values edit_cart_values
;const char hostname[]
;const char username[]
;const char passwd[]
;const char ticket[]
;const unsigned cartnumber
;const char user_agent[]
;unsigned * numrecs
;RD_EditCart is the function to use to edit the fields within a cart that already exists in the Rivendell Database.
This function edits a pre-existing cart. User must provide the cart number and any fields which they would like to change. The structure edit_cart_values must be used to tell the API which fields will be changed.
Table 1. RD_EditCart function call fields
FIELD NAME | FIELD TYPE | MEANING | REMARKS |
---|---|---|---|
*rd_cart | Pointer to rd_cart structure | Memory location to store cart information | Mandatory |
edit_cart_values | edit_cart_values structure | This structure contains the new cart information to update | Mandatory |
hostname | Character Array | Name Of Rivendell DB Host | Mandatory |
username | Character Array | Rivendell User Name | Mandatory When NO Ticket Provided |
passwd | Character Array | Rivendell User Password | Mandatory When NO Ticket Provided |
ticket | Character Array | Rivendell Authentification Ticket | Mandatory When NO User/Password Pair Provided. |
cartnumber | unsigned integer | Cart Number | Mandatory |
user_agent | Character Array | User Agent Value put into HTTP request | Optional (default is Rivendell-C-API/x.x.x) |
*numrecs | pointer to integer | memory location for number of records returned | Mandatory |
This routine expects an input structure of type edit_cart_values - listed below. Each field has a boolean flag field (starting with use_) which designates whether to update the field's value or not. One (1) = true - Use the value in the field or Zero (0) - Ignore the field.
The edit_cart_values structure must be pre-filled with zeroes and has the following format:
struct edit_cart_values { char cart_grp_name[41]; int use_cart_grp_name; char cart_title[1021]; int use_cart_title; char cart_artist[1021]; int use_cart_artist; char cart_album[1021]; int use_cart_album; int cart_year; int use_cart_year; char cart_label[257]; int use_cart_label; char cart_client[257]; int use_cart_client; char cart_agency[257]; int use_cart_agency; char cart_publisher[257]; int use_cart_publisher; char cart_composer[257]; int use_cart_composer; char cart_conductor[257]; int use_cart_conductor; char cart_user_defined[1021]; int use_cart_user_defined; int cart_usage_code; int use_cart_usage_code; int cart_forced_length; int use_cart_forced_length; int cart_enforce_length; int use_cart_enforce_length; int cart_asyncronous; int use_cart_asyncronous; char cart_owner[257]; int use_cart_owner; char cart_notes[4096]; int use_cart_notes; };
When successful function will return the number of records sent (numrecs) and a rd_cart structure which is stored in the provided memory locations. The rd_cart structure has the following fields:
struct rd_cart { unsigned cart_number; /* Cart Number */ unsigned cart_type; /* Cart Type */ char cart_grp_name[41]; /* Group Name */ char cart_title[1021]; /* Cart Title */ char cart_artist[1021]; /* Artist */ char cart_album[1021]; /* Album */ int cart_year; /* Year */ char cart_label[257]; /* Label */ char cart_client[257]; /* Client */ char cart_agency[257]; /* Agency */ char cart_publisher[257]; /* Publisher */ char cart_composer[257]; /* Composer */ char cart_conductor[257]; /* Conductor */ char cart_user_defined[1021]; /* User Defined */ int cart_usage_code; /* Usage Code */ int cart_forced_length; /* Forced Length */ int cart_average_length; /* AverageLength */ int cart_length_deviation; /* Length Deviation */ int cart_average_segue_length; /* Average Segue Length */ int cart_average_hook_length; /* Average Hook Length */ unsigned cart_cut_quantity; /* Cut Quantity */ unsigned cart_last_cut_played; /* Last Cut Played */ unsigned cart_validity; /* Validity */ int cart_enforce_length; /* Enforce Length Flag */ int cart_asyncronous; /* Asyncronous Flag */ char cart_owner[257]; /* Owner */ char cart_notes[4096]; /* Notes */ }; All character arrays above are the sizes listed and are null-terminated. Character encoding is UTF-8. The cart number is a unsigned integer. The cart_type is 1=Audio,2=Macro. The cart_grp_name must be a valid Rivendell DB Group. The cart_title is 255 characters. The cart_artist is 255 characters. The cart_album is 255 characters. The cart_year is a date (YYYY). The cart_label is 64 characters. The cart_client is 64 characters. The cart_agency is 64 characters. The cart_publisher is 64 characters. The cart_composer is 64 characters. The cart_conductor is 64 characters. The cart_user_defined is 255 characters. The cart_usage_code is 0=Feature, 1=Theme Open, 2=Theme Close, 3=Theme Open/Close, 4=Background, 5=Comm/Promo The cart_forced_length is in milliseconds. The cart_average_length is in milliseconds. The cart_length_deviation is in milliseconds. The cart_average_segue_length is in milliseconds. The cart_average_hook_length is in milliseconds. The cart_cut_quantity is number of cuts. The cart_last_cut_played is self explanatory. The cart_validity is 0=NeverValid, 1=Conditional, 2=AlwaysValid 3=EvergreenValid, 4=FutureValid The cart_enforce_length is True(1) or False(0). The cart_asyncronous is True(1) or False(0). The cart_owner is 64 characters. The cart_user_notes is a character array up to 1024 characters.