906001da721e02601f829c52af3f74905292bb90
[WebKit-https.git] / Source / WebKit2 / WebProcess / InjectedBundle / API / efl / EWebKit_Extension.h
1 /*
2  * Copyright (C) 2014 Ryuan Choi <ryuan.choi@gmail.com>.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 /**
27  * @file    EWebKit_Extension.h
28  * @brief   Contains the header files that are required by ewebkit2-extension.
29  *
30  * EWebKit_Extension is the way to extend WebProcess of ewebkit2.
31  *
32  * In order to create the extension,
33  * First, ewk_extension_init must be implemented in the shared object like below:
34  *
35  * @code
36  * #include "EWebKit_Extension.h"
37  *
38  * void ewk_extension_init(Ewk_Extension *extension)
39  * {
40  *    // provide Ewk_Extension_Client callbacks as client.
41  *    ewk_extension_client_add(extension, &client);
42  * }
43  * @endcode
44  *
45  * And compiles C or C++ files as shared object like below:
46  *
47  * @verbatim gcc -o libsample.so sample.c -shared -fPIC `pkg-config --cflags --libs eina ewebkit2-extension` @endverbatim
48  *
49  * Then, install that object into the path which ewk_context_new_with_extensions_path() specifies.
50  *
51  * @see ewk_context_new_with_extensions_path
52  * @see ewk_extension_client_set
53  * @see Ewk_Extension_Initialize_Function
54  */
55
56 #ifndef EWebKit_Extension_h
57 #define EWebKit_Extension_h
58
59 #include "ewk_extension.h"
60
61 #endif // EWebKit_Extension_h