libplaza A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A transitional class used internally by A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload A representation of a JSON object attribute, used transitionally while processing a deserialized JSON payload An object indicating that the API is under maintenance An object indicating that an error or exception occurred when communicating with the API. A object indicating that, while an error occurred, it's one that we can silently retry. Represents the current broadcast information returned by a API object. Indicates whether the API is in maintenance mode Indicates whether an exception occurred while querying the API Contains the currently-playing track's title Contains the currently-playing track's creating artist Contains the currently-playing track's album, if any Contains a relative URI to the artwork for the currently-playing track Contains an integer value of the elapsed seconds for the current track Contains an integer value of the duration in seconds of the current track Contains a 64-bit integer value of the epoch timestamp when the broadcast information was updated Contains an integer value of the time difference between the local computer and the API server Returns a dynamically-generated integer value of the elapsed seconds, taking time offsets and time since Contains an integer value of the number of likes the currently-playing track has received Contains an integer value of the number of people currently listening to the broadcast Represents the user's disposition towards the currently-playing track. To be of Neutral disposition is to indicate the user has no feelings towards this track, or that the user does have feelings, but not strong enough to be worth expressing To Like is to indicate the user's disposition towards this track is one of enjoyment or pleasure; that the user appreciated this track and/or wishes to indicate such. To Favourite is functionally equivalent to , with the additional effect of adding the track to the user's favourites list. is the primary class by which the Nightwave Plaza API can be used. represents the minimum number of seconds that must pass before the cached may be invalidated Creates a new instance. Specify an alternate URI for the API - useful if testing a dev server. To create a API object targeting the production Nightwave Plaza API: nw = new (); To create a API object targeting a local server (eg., during development): nwd = new ("http://localhost:8000"); object deconstructor. Simply a wrapper to ensure that is called. De-initialises the API object. Currently, this is equivalent to synchronously logging out the current session. Retrieves the current Nightwave Plaza radio broadcast information, if possible If Nightwave Plaza is broadcasting normally: n = new Nightwave(); s = await n.Status(); Console.WriteLine(s.Title); The Console output would show "リサフランク420 / 現代のコンピュー", if that track were playing. In the event that an HTTP request fails or Nightwave Plaza is in maintenance mode, the appropriate flag will be set n = new Nightwave(); s = await n.Status(); if (s.InMaintenance) { Console.WriteLine("In maintenance!"); return; } else if (s.FaultOccurred) { Console.WriteLine("A fault occurred!"); return; } Console.WriteLine(s.Title); The Console output would show "In maintenance!" or "A fault occurred!", depending on the conditions. This method has inherent caching, and thus will not necessarily result in the object returned being fully fresh. The object being returned may be a cached object UNLESS the parameter is true OR the object is older than the number of seconds stored by OR is equal to or greater than . If true, the API will always be queried, and no caching will be performed. A populated object describing the current broadcast details. A basic wrapper around which provides basic error handling. If called with await, returns nothing. If called without, returns a Task object for the method call Communicates with the API to retrieve the current broadcast information. Returns a Status object representing the current broadcast information. May be thrown in event of a non-success (HTTP/1.1 2XX) return code May be thrown in event that the API indicates it is in maintenance Fetches the user's for the currently-playing track. A object indicating the user's disposition towards the track. If the vote could not be returned, this will be null Casts the given specified in as the user's vote on the current track. A object indicating the user's disposition towards the current track A boolean value indicating the success of the vote operation An overload method to to first set the X-Access-Token header to A valid session token for the API A boolean value indicating whether the token given in was able to perform an authenticated API request Performs a basic read-only API request to determine whether the session token, if present, is valid. A boolean value indicating whether the request succeeded Performs a basic read-only API request to fetch the profile information for the current user If successful, returns a containing the user's profile information. If unsuccessful, returns null. Performs a basic read-only API request to fetch the currently-authenticated user's profile details. If successful, returns a string containing the authenticated user's username. If unsuccessful, will return null. Performs a login request to the API with the given username and password. A string containing the user's username A string containing the user's password A boolean value indicating whether the login attempt succeeded Functionally, this method is a wrapper for , performing the function of generating a Basic authentication string Performs a login request to the API with the given HTTP Basic authentication string. A valid HTTP Basic authentication string (md5(username:password)) A boolean value indicating whether the login attempt succeeded Performs a logout request to the API. If called with await, returns nothing. Otherwise, returns a Task object representing the method call