pianod2
multisource multiuser scriptable networked music player
Classes | Macros | Typedefs
interpreter.h File Reference

pianod command processing. More...

#include <vector>
#include <set>
#include <string>
#include <unordered_map>
#include <map>
#include <memory>
#include <parsnip/parsnip_command.h>
#include "fundamentals.h"
#include "response.h"
Include dependency graph for interpreter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PianodParser
 Command line parser based on Parsnip, but with some help support added for pianod. More...
 
class  PianodSchema
 
class  PianodDispatcher
 Dispatcher based on Parsnip template, customized for pianod by adding help support. More...
 
class  PianodInterpreter
 Interpreter class based on Parsnip template, customized base for pianod interpreters with the addition of help support. More...
 

Macros

#define KEY_AUDIOOPTIONS   "audioOptions"
 
#define KEY_WAITOPTIONS   "waitOptions"
 
#define KEY_TUNEROPTIONS   "tunerOptions"
 
#define KEY_LIBRARYOPTIONS   "libraryOptions"
 
#define KEY_PANDORAOPTIONS   "pandoraOptions"
 
#define KEY_PLAYBACKSELECTION   "playbackOptions"
 
#define KEY_OPTIONS   "options"
 
#define KEY_COMMAND   "command"
 
#define KEY_REQUEST   "request"
 
#define KEY_ASUSER   "asUser"
 
#define KEY_WITHSOURCE   "withSource"
 
#define KEY_INROOM   "inRoom"
 
#define REQUEST_ASUSER   "asUserExecute"
 
#define REQUEST_WITHSOURCE   "withSourceExecute"
 
#define REQUEST_INROOM   "inRoomExecute"
 
#define PARSER_SOURCEIDENTITY   "sourceId"
 
#define KEY_SOURCE   "source"
 
#define SOURCEIDENTITY   " {" KEY_SOURCE ":" PARSER_SOURCEIDENTITY "}"
 

Typedefs

using PianodSchemaRef = std::shared_ptr< PianodSchema >
 

Detailed Description

pianod command processing.

Macro Definition Documentation

◆ KEY_ASUSER

#define KEY_ASUSER   "asUser"

◆ KEY_AUDIOOPTIONS

#define KEY_AUDIOOPTIONS   "audioOptions"

◆ KEY_COMMAND

#define KEY_COMMAND   "command"

◆ KEY_INROOM

#define KEY_INROOM   "inRoom"

◆ KEY_LIBRARYOPTIONS

#define KEY_LIBRARYOPTIONS   "libraryOptions"

◆ KEY_OPTIONS

#define KEY_OPTIONS   "options"

◆ KEY_PANDORAOPTIONS

#define KEY_PANDORAOPTIONS   "pandoraOptions"

◆ KEY_PLAYBACKSELECTION

#define KEY_PLAYBACKSELECTION   "playbackOptions"

◆ KEY_REQUEST

#define KEY_REQUEST   "request"

◆ KEY_SOURCE

#define KEY_SOURCE   "source"

◆ KEY_TUNEROPTIONS

#define KEY_TUNEROPTIONS   "tunerOptions"

◆ KEY_WAITOPTIONS

#define KEY_WAITOPTIONS   "waitOptions"

◆ KEY_WITHSOURCE

#define KEY_WITHSOURCE   "withSource"

◆ PARSER_SOURCEIDENTITY

#define PARSER_SOURCEIDENTITY   "sourceId"

◆ REQUEST_ASUSER

#define REQUEST_ASUSER   "asUserExecute"

◆ REQUEST_INROOM

#define REQUEST_INROOM   "inRoomExecute"

◆ REQUEST_WITHSOURCE

#define REQUEST_WITHSOURCE   "withSourceExecute"

◆ SOURCEIDENTITY

#define SOURCEIDENTITY   " {" KEY_SOURCE ":" PARSER_SOURCEIDENTITY "}"

Typedef Documentation

◆ PianodSchemaRef

using PianodSchemaRef = std::shared_ptr <PianodSchema>