char *gss_request(char *json_string)
{
/* Variables */
- char *retVal;
- string output;
GSSRequest *req = new GSSRequest(string(json_string));
/* Error checking */
/* Setup */
/* Main processing */
req->execute();
- output = req->getResponse();
- retVal = new char[ output.length() + 1 ];
- output.copy(retVal, output.length(), 0);
- retVal[output.length()] = 0;
-
- return(retVal);
+ return strdup(req->getResponse().c_str());
}
void deallocate_reply(char *reply)
* to process a JSON string
*/
extern "C" {
- char *gss_request(char *json_string);
- void deallocate_reply(char *reply);
+ JSONGSSAPI_EXPORT char *gss_request(char *json_string);
+ JSONGSSAPI_EXPORT void deallocate_reply(char *reply);
}
class GSSRequest
{
public:
- JSONGSSAPI_EXPORT GSSRequest(string jsonString);
- JSONGSSAPI_EXPORT ~GSSRequest();
+ GSSRequest(string jsonString);
+ ~GSSRequest();
- JSONGSSAPI_EXPORT void execute();
- JSONGSSAPI_EXPORT string getResponse();
+ void execute();
+ string getResponse();
private:
string requestString;