File: Facebook.h

package info (click to toggle)
cpprest 2.10.19-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,916 kB
  • sloc: cpp: 71,086; sh: 275; makefile: 170; javascript: 147
file content (32 lines) | stat: -rw-r--r-- 1,093 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/***
 * Copyright (C) Microsoft. All rights reserved.
 * Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
 *
 * =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 *
 * Facebook.h - Simple client for connecting to facebook. See blog post
 * at http://aka.ms/FacebookCppRest for a detailed walkthrough of this sample
 * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 ****/

#pragma once
#include <cpprest/http_client.h>
#include <string>

class facebook_client
{
public:
    static facebook_client& instance(); // Singleton
    pplx::task<void> login(std::wstring scopes);
    pplx::task<web::json::value> get(std::wstring path);
    web::http::uri_builder base_uri(bool absolute = false);

private:
    facebook_client() : raw_client(L"https://graph.facebook.com/"), signed_in(false) {}

    pplx::task<void> full_login(std::wstring scopes);

    std::wstring token_;
    bool signed_in;
    web::http::client::http_client raw_client;
};