@@ -122,21 +122,33 @@ interface ProjectParser extends OpenBlocksModule {
122122 * @param project The project
123123 * @return The parsed layout from the provided project
124124 */
125- OpenBlocksLayout parseLayout (OpenBlocksRawProject project );
125+ OpenBlocksLayout parseLayout (OpenBlocksRawProject project );
126126
127127 /**
128128 * This function is used to parse the raw project into a code
129129 * @param project The project
130130 * @return The parsed code from the provided project
131131 */
132- OpenBlocksCode parseCode (OpenBlocksRawProject project );
132+ OpenBlocksCode parseCode (OpenBlocksRawProject project );
133133
134134 /**
135135 * This function is used to parse the raw project to get it's metadata
136136 * @param project The project
137137 * @return The parsed code from the provided project
138138 */
139- OpenBlocksProjectMetadata parseMetadata (OpenBlocksRawProject project );
139+ OpenBlocksProjectMetadata parseMetadata (OpenBlocksRawProject project );
140+
141+ /**
142+ * This function is used to save a code, layout, and metadata into one
143+ * single raw project (list of files)
144+ * @param metadata The project's metadata
145+ * @param code The project's code
146+ * @param layout The project's layout
147+ * @return The raw project containing files representation of these metadata, code and layout
148+ */
149+ OpenBlocksRawProject saveProject (OpenBlocksProjectMetadata metadata ,
150+ OpenBlocksCode code ,
151+ OpenBlocksLayout layout );
140152 }
141153
142154 /**
0 commit comments