Ahmed Popović Benjamin Ramić Tviter Projekat

Dependencies:   ESP8266 mbed

Fork of TwitterProjekat by Ahmed Popović

Twitter.h

Committer:
2016US_BenjaminRamic
Date:
2016-05-26
Revision:
2:907b2a247aaa
Parent:
1:51391e2303d7

File content as of revision 2:907b2a247aaa:

class Twitter
{
private:
    char *poruka;
    int duzina;
    int duzinaPoruke;
    Serial *pc;
public:
    Twitter(Serial *pc)
    {
        duzina = 140;
        poruka = new char[duzina];
        duzinaPoruke = 0;
        this->pc = pc;
    }
    
    ~Twitter()
    {
        delete[] poruka;
    }
    void unesiPoruku()
    {
        int i = 0;
        duzinaPoruke = 0;
        while(i < duzina)
        {
            char c;
            pc->scanf("%c", &c);
            if(c == '\n' || c == '\r')
            {
                poruka[i] = '\0';
                break;
            }
            
            poruka[i] = c;
            i++;
            duzinaPoruke++;
        }
    }
    char *dajPoruku()
    {
        return poruka;
    }
    int dajBrojBajta()
    {
        return duzinaPoruke;
    }
    
    string urlEncode(string str)
    {
        string new_str = "";
        char c;
        int ic;
        const char* chars = str.c_str();
        char bufHex[10];
        int len = strlen(chars);
    
        for(int i=0;i<len;i++){
            c = chars[i];
            ic = c;
            // uncomment this if you want to encode spaces with +
            /*if (c==' ') new_str += '+';
            else */if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') new_str += c;
            else {
                sprintf(bufHex,"%X",c);
                if(ic < 16)
                    new_str += "%0";
                else
                    new_str += "%";
                new_str += bufHex;
            }
        }
        return new_str;
    }
    
    bool isalnum(char c)
    {
        return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'));
    }
};