Prepare interface for CLP protocol

Issue #132 new
Patryk Kubiak created an issue

Prepare an interface for the Component List Protocol (CLP) - the protocol that will replace HTML and all related internet protocols.

The main assumptions:

  • A website should be defined as C code (compiled as program)

  • The server run a program that according to the request runs a website program with arguments from user

  • A website program (it is written by a website developer, but compiled in the server, by server-owner) generates a respond according to data from browser

  • Server send respond from the website program to the browser - the respond is not text script, but block of data with components, that should be visible in a browser.

  • browser according to data generates a page (it does not needs to parse the html script)

  • To make html website work, some additional server, that will convert html to CLP and vice versa can be hosted somewhere

#!c
typedef enum
{
    Type_Button ,
    Type_Image , 
} Type_t;

typedef struct
{
    Type_t      Type;
    uint32_t    ElementId;

    union
    {
        struct
        {
            Position_t  Position;
            uint32_t    Width;
            uint32_t    Height; 
            Color_t     BackgroundColor;
            Color_t     ForegroundColor;
            char        Link[255];
        } Button;

        struct
        {
            Position_t  Position;
            uint32_t    Width;
            uint32_t    Height;
            char        Link[255];     
        } Image;
    };
} Element_t;

int main()
{
    List(Element_t) page = List_New();

    Page_AddButton( page , 30 , 80 , 10 , 2);

    Page_AddImage( page , address );



    return 0;
}

Comments (8)

  1. Log in to comment