Skip to content

Commit ba9b250

Browse files
authored
Merge pull request #7 from pavel-cpp/dev
alpha 1.0.0
2 parents 17e63b8 + 73ad1d8 commit ba9b250

File tree

11 files changed

+1362
-240
lines changed

11 files changed

+1362
-240
lines changed

CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
cmake_minimum_required(VERSION 3.23)
22
project(mime_magic)
33

4+
include_directories(
5+
src
6+
src/loader
7+
srd/node
8+
)
9+
410
add_library(
511
${PROJECT_NAME}
612
STATIC
7-
src/mime_node.cpp
13+
src/node/mime_node.cpp
14+
src/loader/mime_loader.cpp
815
)
916

1017
add_executable(

docs/src/diagrams/how_the_format_works.drawio

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<mxfile host="Electron" modified="2024-05-09T16:39:17.181Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="k-WtlyvsSxQv8a8X4Ha1" version="24.2.5" type="device">
1+
<mxfile host="Electron" modified="2024-05-09T21:14:36.184Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="Y8zz403VEz9Mp-ZuQq_b" version="24.2.5" type="device">
22
<diagram id="5_LrSvfUDZXO3y8Wor-d" name="Page-1">
3-
<mxGraphModel dx="1430" dy="825" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
3+
<mxGraphModel dx="1185" dy="683" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
44
<root>
55
<mxCell id="0" />
66
<mxCell id="1" parent="0" />
@@ -13,10 +13,10 @@
1313
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-6" target="UZ9Ux37qHeOWCQ1a2PDl-9" edge="1">
1414
<mxGeometry relative="1" as="geometry" />
1515
</mxCell>
16-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-6" target="UZ9Ux37qHeOWCQ1a2PDl-8" edge="1">
16+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-6" target="UZ9Ux37qHeOWCQ1a2PDl-8" edge="1">
1717
<mxGeometry relative="1" as="geometry" />
1818
</mxCell>
19-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-6" target="UZ9Ux37qHeOWCQ1a2PDl-7" edge="1">
19+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-6" target="UZ9Ux37qHeOWCQ1a2PDl-7" edge="1">
2020
<mxGeometry relative="1" as="geometry" />
2121
</mxCell>
2222
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-6" value="Hello" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#00FF00;strokeWidth=2;" parent="1" vertex="1">
@@ -31,7 +31,7 @@
3131
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-8" value="_" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#ff0000;strokeWidth=2;" parent="1" vertex="1">
3232
<mxGeometry x="240" y="360" width="40" height="40" as="geometry" />
3333
</mxCell>
34-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-9" target="UZ9Ux37qHeOWCQ1a2PDl-13" edge="1">
34+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-9" target="UZ9Ux37qHeOWCQ1a2PDl-13" edge="1">
3535
<mxGeometry relative="1" as="geometry" />
3636
</mxCell>
3737
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-9" target="UZ9Ux37qHeOWCQ1a2PDl-10" edge="1">
@@ -64,10 +64,10 @@
6464
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-29" target="UZ9Ux37qHeOWCQ1a2PDl-35" edge="1">
6565
<mxGeometry relative="1" as="geometry" />
6666
</mxCell>
67-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-29" target="UZ9Ux37qHeOWCQ1a2PDl-32" edge="1">
67+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-29" target="UZ9Ux37qHeOWCQ1a2PDl-32" edge="1">
6868
<mxGeometry relative="1" as="geometry" />
6969
</mxCell>
70-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-29" target="UZ9Ux37qHeOWCQ1a2PDl-30" edge="1">
70+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-29" target="UZ9Ux37qHeOWCQ1a2PDl-30" edge="1">
7171
<mxGeometry relative="1" as="geometry" />
7272
</mxCell>
7373
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-29" value="Hello" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#00FF00;strokeWidth=2;" parent="1" vertex="1">
@@ -82,7 +82,7 @@
8282
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-32" value="_" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;strokeWidth=2;" parent="1" vertex="1">
8383
<mxGeometry x="240" y="760" width="40" height="40" as="geometry" />
8484
</mxCell>
85-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-35" target="UZ9Ux37qHeOWCQ1a2PDl-39" edge="1">
85+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-35" target="UZ9Ux37qHeOWCQ1a2PDl-39" edge="1">
8686
<mxGeometry relative="1" as="geometry" />
8787
</mxCell>
8888
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#00FF00;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-35" target="UZ9Ux37qHeOWCQ1a2PDl-37" edge="1">
@@ -94,7 +94,7 @@
9494
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#FF0000;strokeWidth=2;" parent="1" source="UZ9Ux37qHeOWCQ1a2PDl-37" target="UZ9Ux37qHeOWCQ1a2PDl-40" edge="1">
9595
<mxGeometry relative="1" as="geometry" />
9696
</mxCell>
97-
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-37" value="_" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#00FF00;strokeWidth=2;" parent="1" vertex="1">
97+
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-37" value="_" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;strokeWidth=2;" parent="1" vertex="1">
9898
<mxGeometry x="360" y="680" width="40" height="40" as="geometry" />
9999
</mxCell>
100100
<mxCell id="UZ9Ux37qHeOWCQ1a2PDl-38" value="World" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;strokeWidth=2;" parent="1" vertex="1">
@@ -112,28 +112,28 @@
112112
<mxPoint x="680" y="490" as="targetPoint" />
113113
</mxGeometry>
114114
</mxCell>
115-
<mxCell id="pA2hpONsF-baMWNIkRtu-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.tick;fillColor=#00FF00;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
115+
<mxCell id="pA2hpONsF-baMWNIkRtu-1" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.tick;fillColor=#00FF00;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
116116
<mxGeometry x="530" y="285" width="30" height="30" as="geometry" />
117117
</mxCell>
118-
<mxCell id="pA2hpONsF-baMWNIkRtu-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
118+
<mxCell id="pA2hpONsF-baMWNIkRtu-2" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
119119
<mxGeometry x="530" y="685" width="30" height="30" as="geometry" />
120120
</mxCell>
121-
<mxCell id="pA2hpONsF-baMWNIkRtu-3" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
121+
<mxCell id="pA2hpONsF-baMWNIkRtu-3" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
122122
<mxGeometry x="410" y="605" width="30" height="30" as="geometry" />
123123
</mxCell>
124-
<mxCell id="pA2hpONsF-baMWNIkRtu-4" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
124+
<mxCell id="pA2hpONsF-baMWNIkRtu-4" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
125125
<mxGeometry x="410" y="765" width="30" height="30" as="geometry" />
126126
</mxCell>
127-
<mxCell id="pA2hpONsF-baMWNIkRtu-5" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
127+
<mxCell id="pA2hpONsF-baMWNIkRtu-5" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
128128
<mxGeometry x="290" y="845" width="30" height="30" as="geometry" />
129129
</mxCell>
130-
<mxCell id="pA2hpONsF-baMWNIkRtu-6" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
130+
<mxCell id="pA2hpONsF-baMWNIkRtu-6" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
131131
<mxGeometry x="290" y="445" width="30" height="30" as="geometry" />
132132
</mxCell>
133-
<mxCell id="pA2hpONsF-baMWNIkRtu-7" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
133+
<mxCell id="pA2hpONsF-baMWNIkRtu-7" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
134134
<mxGeometry x="410" y="365" width="30" height="30" as="geometry" />
135135
</mxCell>
136-
<mxCell id="pA2hpONsF-baMWNIkRtu-8" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" vertex="1" parent="1">
136+
<mxCell id="pA2hpONsF-baMWNIkRtu-8" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x;strokeColor=#FF0000;fillColor=#a20025;fontColor=#ffffff;" parent="1" vertex="1">
137137
<mxGeometry x="410" y="205" width="30" height="30" as="geometry" />
138138
</mxCell>
139139
</root>

0 commit comments

Comments
 (0)