Re: [Cppcms-users] Fwd: cppcms::rpc::json_rpc_server usage.
Brought to you by:
artyom-beilis
|
From: le ba <hma...@gm...> - 2012-05-23 12:24:21
|
Hi,
What is the wrong in my code?:
This is my code.
class master : public cppcms::rpc::json_rpc_server {
public:
master(cppcms::service &s);
~master();
void init();
void clear();
void ini(content::master &c);
cppdb::session sql;
std::string connection;
};
master::master(cppcms::service &s) :
cppcms::rpc::json_rpc_server(s)
{
connection="odbc:dsn=ajaxex;user=root;password=root";
}
master::~master(){
}
void master::init()
{
sql.open(connection);
if (sql.is_open())
{
std::cout << "Data Base ouverte" << std::endl;
}
else
{
std::cout << "Data Base non ouverte" << std::endl;
}
}
void master::clear()
{
sql.close();
}
void master::ini(content::master &c)
{
c.title = "My Web Site";
c.image = settings().get<std::string>("myjsonappli.image");
c.media = settings().get<std::string>("myjsonappli.media");
c.scrpt = settings().get<std::string>("myjsonappli.scrpt");
}
class pages : public master {
public:
pages(cppcms::service &s) :
master(s)
{
bind("softwares",cppcms::rpc::json_method(&pages::softwares,this),method_role);//methode
that I would to call with ajax
dispatcher().assign("/page",&pages::page,this);
mapper().assign("page","/page");
}
void softwares(int id)
{
cppdb::result r;
cppcms::json::value val;
cppcms::json::array softs;
std::cout << id << std::endl;
r = sql<< "SELECT id,name,idEditor "
"FROM ajax_example_softwares WHERE idEditor=?"
"ORDER BY id" << id;
int i=0;
while(r.next())
{
cppcms::json::value soft;
soft["id"] = r.get<int>("id");
soft["name"] = r.get<std::string>("name");
soft["ideditor"] = r.get<int>("idEditor");
softs.push_back(soft);
std::cout << soft << std::endl;
i++;
}
std::cout << "Nombre de ligne " << i << std::endl;
val.array(softs);
return_result(val);
}
void page()
{
content::page c;
ini(c);
c.page_title = "Multiflex-3 Update-7 / Header-1";
c.page_content = "<p>A page about this web site</p>";
render("page",c);
}
void main(std::string url)
{
cppcms::http::content_type ct = request().content_type_parsed();
if(!dispatcher().dispatch(url)){
response().make_error_response(cppcms::http::response::not_found);
}
cppcms::rpc::json_rpc_server::main(url);
std::string type = ct.type();
std::cout<<type<<std::endl;
std::string subtype = ct.subtype();
std::cout<<subtype<<std::endl;
std::cout<<request().request_method()<<std::endl;
}
};
Thank in advance for your help Artyom.
2012/5/22 Artyom Beilis <art...@ya...>
> >
>
> >
> > void main(std:string url)
> > {
> > if(!dispatcher().dispatch(url)) {
> >response().make_error_response(http::response::not_found);
> > }
> > cppcms::rpc::json_rpc_server::main(url);
> > }
> >};
> >
>
>
> You really mixing stuff incorrectly because you will never
>
> be able to execute cppcms::rpc::json_rpc_server::main(url); properly
> as you already have an output
> Artyom
>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Cppcms-users mailing list
> Cpp...@li...
> https://lists.sourceforge.net/lists/listinfo/cppcms-users
>
|