summaryrefslogtreecommitdiffhomepage
path: root/dev/examples
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-02 01:29:15 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-02 01:29:15 +0100
commit678f457a9797ae064634f8ba2a83b156f2892871 (patch)
tree31e5d6625e16dd5842022e5d99de4dd51ea55277 /dev/examples
parent4dbb5cc1283eed26cb9b66600fe9bb594aad8ef3 (diff)
refactor! breaking API changes of SOCL, also reworked must_pass helpers, and added one for the fix parser.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/examples')
-rw-r--r--dev/examples/cgi/cgi.cc25
-rw-r--r--dev/examples/fix/fix.cc15
-rw-r--r--dev/examples/tracked_ptr/tracked_ptr.cc1
3 files changed, 17 insertions, 24 deletions
diff --git a/dev/examples/cgi/cgi.cc b/dev/examples/cgi/cgi.cc
index b4c0b34..2cb8f3a 100644
--- a/dev/examples/cgi/cgi.cc
+++ b/dev/examples/cgi/cgi.cc
@@ -1,4 +1,4 @@
-/*
+/*
cgi example
written by Amlal El Mahrouss.
licensed under the MIT license
@@ -9,12 +9,12 @@
#include <sstream>
#include <string>
-const std::string g_not_found = R"(
+const std::string error_html = R"(
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
- <title>error | snu-lib</title>
+ <title>Error | SOCL</title>
<style>
body {
font-family: monospace;
@@ -62,7 +62,7 @@ const std::string g_not_found = R"(
<tr><td colspan="3"><hr></td></tr>
</table>
- <address>snu's Common Gateway Server.</address>
+ <address>SOCL's Common Gateway Server.</address>
</body>
</html>
)";
@@ -71,21 +71,12 @@ const std::string g_not_found = R"(
/* @brief this stub loads a 'index.html' or returns an error message if not found. */
int main(int argc, char** argv)
{
- // ... let's assume we serve data.
+ snu::cgi::basic_writer<> writer;
- snu::cgi::cgi_writer writer;
- std::stringstream ss_file;
+ std::stringstream ss_file;
+ ss_file << error_html;
- std::ifstream fp("index.html");
-
- if (fp.good())
- ss_file << fp.rdbuf();
- else
- ss_file << g_not_found;
-
- fp.close();
-
- writer.eval_html(ss_file);
+ writer.html(ss_file);
return 0;
}
diff --git a/dev/examples/fix/fix.cc b/dev/examples/fix/fix.cc
index 86838bb..dfe4be9 100644
--- a/dev/examples/fix/fix.cc
+++ b/dev/examples/fix/fix.cc
@@ -15,16 +15,19 @@ int main(int argc, char** argv)
{
constexpr auto default_fix = "8=FIX.4.2|9=65|35=A|49=SERVER|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|10=062|";
- snu::fix::visitor<char> visitor;
- snu::fix::range_data<char> fix = visitor.visit(default_fix);
+ snu::fix::basic_visitor<char> basic_visitor;
+ snu::fix::range_data<char> fix = basic_visitor.visit(default_fix);
- std::cout << "magic: " << fix.magic_ << std::endl;
- std::cout << "is_valid: " << std::boolalpha << fix.is_valid() << std::endl;
+ std::cout << "magic=" << fix.magic_ << std::endl;
+ std::cout << "magic_len=" << fix.magic_len_ << std::endl;
+ std::cout << "is_valid=" << std::boolalpha << fix.is_valid() << std::endl;
+
+ snu::fix::must_pass(fix);
for (auto fields : fix.body_)
{
- std::cout << "key: " << fields.first;
- std::cout << ", value: " << fields.second << std::endl;
+ std::cout << "key=" << fields.first;
+ std::cout << ":value=" << fields.second << std::endl;
}
return 0;
diff --git a/dev/examples/tracked_ptr/tracked_ptr.cc b/dev/examples/tracked_ptr/tracked_ptr.cc
index 5ce6f61..61073a6 100644
--- a/dev/examples/tracked_ptr/tracked_ptr.cc
+++ b/dev/examples/tracked_ptr/tracked_ptr.cc
@@ -45,7 +45,6 @@ int main(int argc, char** argv)
summon_leak_tracked_ptr();
std::cout << "total=" << ptr.manager().allocator().deallocated_count_ << std::endl;
-
std::cout << "leak-detected=" << std::boolalpha << (ptr.manager().allocator().allocated_count_ > ptr.manager().allocator().deallocated_count_) << std::endl;
snu::memory::must_pass(ptr);