8 #ifndef CPPCMS_APPLICATION_H 9 #define CPPCMS_APPLICATION_H 11 #include <cppcms/defs.h> 12 #include <booster/noncopyable.h> 13 #include <booster/hold_ptr.h> 14 #include <booster/atomic_counter.h> 15 #include <booster/intrusive_ptr.h> 16 #include <booster/shared_ptr.h> 34 class applications_pool;
35 class application_specific_pool;
38 class cache_interface;
39 class session_interface;
153 void render(std::string template_name,
base_content &content);
160 void render(std::string skin,std::string template_name,
base_content &content);
168 void render(std::string template_name,std::ostream &out,
base_content &content);
176 void render(std::string skin,std::string template_name,std::ostream &out,
base_content &content);
192 void add(
application &app,std::string
const ®ex,
int part);
204 void add(
application &app,std::string
const &name,std::string
const &url,std::string
const ®ex,
int part);
213 void add(
application &app,std::string
const &name,std::string
const &url);
225 void attach(
application *app,std::string
const ®ex,
int part);
232 void attach(
application *app,std::string
const &name,std::string
const &url);
241 void attach(
application *app,std::string
const &name,std::string
const &url,std::string
const ®ex,
int part);
287 void remove_context();
292 bool is_asynchronous();
316 virtual void main(std::string url);
327 virtual void clear();
336 std::string
translate(
char const *message);
340 std::string
translate(
char const *context,
char const *single,
char const *plural,
int n);
344 std::string
translate(
char const *single,
char const *plural,
int n);
352 std::string url(std::string
const &key);
359 std::string url(std::string
const &key,
367 std::string url(std::string
const &key,
376 std::string url(std::string
const &key,
386 std::string url(std::string
const &key,
396 std::string url(std::string
const &key,
407 std::string url(std::string
const &key,
433 friend void booster::intrusive_ptr_add_ref(
application *p);
434 friend void booster::intrusive_ptr_release(
application *p);
This class is central representation of json objects.
Definition: json.h:140
This class represent the central event loop of the CppCMS applications.
Definition: service.h:62
This class provides an access to an application for session management.
Definition: session_interface.h:107
This is the namespace where all CppCMS functionality is placed.
Definition: application.h:19
basic_message< CharType > translate(CharType const *msg)
Translate a message, msg is not copied.
Definition: message.h:530
context is a central class that holds all specific connection related information. It encapsulates CGI request and response, cache, session and locale information
Definition: http_context.h:47
This is a simple polymorphic class that every content for templates rendering should be derided from ...
Definition: base_content.h:23
class for mapping URLs - the opposite of dispatch
Definition: url_mapper.h:149
this class represents all HTTP/CGI response related API, generation of output content and HTTP header...
Definition: http_response.h:36
application class is the base class for all user created applications.
Definition: application.h:82
an interface for creating user applications
Definition: applications_pool.h:66
This class is the major gateway of the application to CppCMS caching abilities. Any access too cache ...
Definition: cache_interface.h:139
basic_message< char > message
Definition: message.h:494
Application pool is the central class that holds user created applications.
Definition: applications_pool.h:145
This class is used to glue between member function of application class and urls. ...
Definition: url_dispatcher.h:101
A special proxy object for writing any object to a std::ostream.
Definition: filters.h:67
Booster library namespace. The library that implements Boost Like API in ABI backward compatible way...
Definition: application.h:23
Atomic counter is a class that allows perform counting in thread safe way.
Definition: atomic_counter.h:33
This class makes impossible to copy any class derived from this one.
Definition: noncopyable.h:15
This class represents all information related to the HTTP/CGI request.
Definition: http_request.h:37