# FreeCAD 1.2 Document Contract > This is a source inventory, not a claim that the full Document runtime is available in WebAssembly. - Schema: `freecad-web-document-contract/v1` - Source root: `/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source` - Source revision: `4f4e9244e613ea2df06e70027074a562695048cb` | Contract | Source | Matches | SHA-256 | | --- | --- | ---: | --- | | `Application` | `src/App/Application.h` | 6 | `c74091185dc2b4f2f737aaa5eed1592e9539164673df92408e5739ddaa1dcf03` | | `Document` | `src/App/Document.h` | 13 | `f4d2ca30d924da9e427142c68717643392e8cbeec6838c1d0c25e5840ea9a02e` | | `DocumentObject` | `src/App/DocumentObject.h` | 9 | `53f3395f7e782ef877b2b947375e0026025ea5400ca44cea37ee2701e24f6707` | | `PropertyContainer` | `src/App/PropertyContainer.h` | 7 | `7186965cd8b46aa37b548373d0bc4763e99f0d3e933a0638717b4ca873822516` | | `PartFeature` | `src/Mod/Part/App/PartFeature.h` | 4 | `fd4ad70792e46e5029825d6690e3166e0db317bed7416b19d27fdcb8177ef658` | ## Matched declarations ### Application - L130: `App::Document* newDocument(const char* proposedName = nullptr,` - L140: `bool closeDocument(const Document* doc);` - L148: `bool closeDocument(const char* name);` - L206: `App::Document* getDocument(const char *Name) const;` - L342: `bool commitTransaction(int tid);` - L343: `bool abortTransaction(int tid);` ### Document - L459: `DocumentObject* addObject(const char* sType,` - L483: `T* addObject(const char* pObjectName = nullptr,` - L532: `void addObject(DocumentObject* obj, const char* name = nullptr);` - L1483: `T* Document::addObject(const char* pObjectName, bool isNew, const char* viewType, bool isPartial)` - L1486: `return static_cast(addObject(T::getClassName(), pObjectName, isNew, viewType, isPartial));` - L586: `DocumentObject* getObject(const char* Name) const;` - L869: `int openTransaction(TransactionName name, int tid = 0);` - L870: `int openTransaction(std::string name, int tid = 0);` - L898: `void commitTransaction();` - L901: `void abortTransaction() const;` - L780: `int recompute(const std::vector& objs = {},` - L1072: `/// The position of option flags used by getDependencyList()` - L1093: `getDependencyList(const std::vector& objs, int options = 0);` ### DocumentObject - L245: `const char* getNameInDocument() const;` - L271: `std::string getFullName() const override;` - L248: `long getID() const` - L310: `bool isTouched() const;` - L339: `bool isError() const` - L544: `const std::vector& getInList() const;` - L478: `const std::vector& getOutList() const;` - L489: `std::vector getOutList(int option) const;` - L500: `void getOutList(int option, std::vector& res) const;` ### PropertyContainer - L178: `void addProperty(OffsetBase offsetBase,const char* PropName, Property *Prop, const char* PropertyGroup= nullptr, PropertyType Type=Prop_None, const char* PropertyDocu=nullptr );` - L743: `propertyData.addProperty(static_cast(this), _name, &this->_prop_); \` - L753: `propertyData.addProperty(static_cast(this), _name, &this->_prop_, (_group_),(_type_),(_Docu_)); \` - L224: `Property *getPropertyByName(OffsetBase offsetBase,const char* name) const;` - L330: `virtual Property *getPropertyByName(const char* name) const;` - L240: `void getPropertyList(OffsetBase offsetBase,std::vector &List) const;` - L356: `virtual void getPropertyList(std::vector &List) const;` ### PartFeature - L76: `PropertyPartShape Shape;` - L159: `static TopoDS_Shape getShape(` - L167: `static TopoShape getTopoShape(` - L244: `ShapeHistory buildHistory(`