10cf14123d5c600299e911cfb13b799051227fa4
[Mograsim.git] / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / Am2900Loader.java
1 package net.mograsim.logic.model.am2900;
2
3 import java.util.concurrent.atomic.AtomicBoolean;
4
5 import org.osgi.framework.BundleActivator;
6 import org.osgi.framework.BundleContext;
7
8 import net.mograsim.logic.model.serializing.ClassLoaderBasedResourceLoader;
9 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
10 import net.mograsim.machine.MachineLoader;
11
12 public class Am2900Loader implements BundleActivator
13 {
14         // TODO use dff16 in dff16_we & dff16_invwe
15         private static AtomicBoolean activated = new AtomicBoolean(false);
16
17         @Override
18         public void start(BundleContext context) throws Exception
19         {
20                 setup();
21         }
22
23         @Override
24         public void stop(BundleContext context) throws Exception
25         {
26                 // nothing
27         }
28
29         public static void setup()
30         {
31                 if (activated.getAndSet(true))
32                         return;
33                 ClassLoaderBasedResourceLoader resourceLoader = ClassLoaderBasedResourceLoader.create(Am2900Loader.class.getClassLoader());
34                 IndirectModelComponentCreator.registerResourceLoader(resourceLoader, "Am2900Loader");
35                 IndirectModelComponentCreator.loadStandardComponentIDs(Am2900Loader.class.getResourceAsStream("standardComponentIDMapping.json"));
36                 MachineLoader.setup();
37 //              System.out.println("SETUP DONE"); // TODO: Debug
38         }
39 }