Example #1
0
            public override void Write(IO.EndianWriter stream)
            {
                Compiler comp = stream.Owner as Compiler;

                uint fieldsAddress = new FieldsWriter(tagBlock.Fields).WriteFields(stream, comp);

                comp.MarkLocationFixup(tagBlock.Name, stream, false);

                int flags = 0;

                stream.Write(tagBlock.Name);
                stream.Write(flags);
                stream.Write(tagBlock.MaxElements);
                stream.Write(tagBlock.CalculateSize(comp.OwnerState));
                stream.Write((int)0);
                stream.WritePointer(fieldsAddress);

                // procs
                stream.Write((int)0); stream.Write((int)0); stream.Write((int)0); stream.Write((int)0);

                stream.Write((int)0);                 // byte swap codes address
            }
Example #2
0
        // <Summary>
        // This method is used to export a StoredProcedure object to xml.
        // </Summary>
        public string ExportStoredProcedure(StoredProcedure storedProcedure, int indent = 0)
        {
            // initial value
            string storedProcedureXml = "";

            // locals
            string indentString  = TextHelper.Indent(indent);
            string indentString2 = TextHelper.Indent(indent + 2);

            // If the storedProcedure object exists
            if (NullHelper.Exists(storedProcedure))
            {
                // Create a StringBuilder
                StringBuilder sb = new StringBuilder();

                // Append the indentString
                sb.Append(indentString);

                // Write the open storedProcedure node
                sb.Append("<StoredProcedure>" + Environment.NewLine);

                // Write out each property

                // Write out the value for DoesNotHaveParameters

                sb.Append(indentString2);
                sb.Append("<DoesNotHaveParameters>" + storedProcedure.DoesNotHaveParameters + "</DoesNotHaveParameters>" + Environment.NewLine);

                // Write out the value for HasParameters

                sb.Append(indentString2);
                sb.Append("<HasParameters>" + storedProcedure.HasParameters + "</HasParameters>" + Environment.NewLine);

                // Write out the value for HasReturnSetSchema

                sb.Append(indentString2);
                sb.Append("<HasReturnSetSchema>" + storedProcedure.HasReturnSetSchema + "</HasReturnSetSchema>" + Environment.NewLine);

                // Write out the value for Parameters

                // Create the StoredProcedureParametersWriter
                StoredProcedureParametersWriter parametersWriter = new StoredProcedureParametersWriter();

                // Export the Parameters collection to xml
                string storedProcedureParameterXml = parametersWriter.ExportList(storedProcedure.Parameters, indent + 2);
                sb.Append(storedProcedureParameterXml);
                sb.Append(Environment.NewLine);

                // Write out the value for ProcedureName

                sb.Append(indentString2);
                sb.Append("<ProcedureName>" + storedProcedure.ProcedureName + "</ProcedureName>" + Environment.NewLine);

                // Write out the value for ReturnSetSchema

                // Create the FieldsWriter
                FieldsWriter returnSetSchemaWriter = new FieldsWriter();

                // Export the ReturnSetSchemas collection to xml
                string dataFieldXml = returnSetSchemaWriter.ExportList(storedProcedure.ReturnSetSchema, indent + 2);
                sb.Append(dataFieldXml);
                sb.Append(Environment.NewLine);

                // Write out the value for StoredProcedureType

                sb.Append(indentString2);
                sb.Append("<StoredProcedureType>" + storedProcedure.StoredProcedureType + "</StoredProcedureType>" + Environment.NewLine);

                // Write out the value for Text

                sb.Append(indentString2);
                sb.Append("<Text>" + storedProcedure.Text + "</Text>" + Environment.NewLine);

                // Append the indentString
                sb.Append(indentString);

                // Write out the close storedProcedure node
                sb.Append("</StoredProcedure>" + Environment.NewLine);

                // set the return value
                storedProcedureXml = sb.ToString();
            }
            // return value
            return(storedProcedureXml);
        }
Example #3
0
			public override void Write(IO.EndianWriter stream)
			{
				Compiler comp = stream.Owner as Compiler;

				int flags;

				#region Block
				var tag_block = tagGroup.Block as Import.TagBlock;
				uint fieldsAddress = new FieldsWriter(tag_block.Fields).WriteFields(stream, comp);
				//comp.MarkLocationFixup(tag_block.Name, stream, false);

				flags = (
						(tag_block.DontReadChildren ? 1 << 0 : 0)
					);

				uint blockAddress = stream.PositionUnsigned;
				stream.Write(tagGroup.BlockName);
				stream.Write(flags);
				stream.Write((int)1); // max elements
				stream.Write(tag_block.CalculateSize(comp.OwnerState));
				stream.Write((int)0);
				stream.WritePointer(fieldsAddress);

				// procs
				stream.Write((int)0); stream.Write((int)0); stream.Write((int)0); stream.Write((int)0);

				stream.Write((int)0); // byte swap codes address
				#endregion

				comp.MarkLocationFixup(tagGroup.Name, stream, false);

				flags = (
						(tagGroup.IsIncludedInTagGroupsChecksum ? 1 << 0 : 0)
					);

				stream.Write(tagGroup.Name);
				stream.Write(flags);
				if (string.IsNullOrEmpty(tagGroup.GroupTag))
					Debug.LogFile.WriteLine("CheApe: tag_group '{0}' has a bad group-tag...check your XML?");
				stream.WriteTag(tagGroup.GroupTag);
				if (tagGroup.ParentTag != null)
				{
					if (string.IsNullOrEmpty(tagGroup.GroupTag))
						Debug.LogFile.WriteLine("CheApe: tag_group '{0}' has a bad parent group-tag...check your XML?");
					stream.WriteTag(tagGroup.ParentTag);
				}
				else
					stream.Write((int)-1);
				stream.Write(tagGroup.Version); stream.Write((short)0);
				stream.Write((int)0); // post process proc
				stream.WritePointer(blockAddress);
				for (int x = 0; x < 17; x++) stream.Write((int)0); // child group tags
				stream.Write((int)0); // we don't support that shit, gtfo
				stream.Write((int)0);
			}
Example #4
0
			public override void Write(IO.EndianWriter stream)
			{
				Compiler comp = stream.Owner as Compiler;

				uint fieldsAddress = new FieldsWriter(tagBlock.Fields).WriteFields(stream, comp);
				comp.MarkLocationFixup(tagBlock.Name, stream, false);

				int flags = (
						(tagBlock.DontReadChildren ? 1 << 0 : 0)
					);

				stream.Write(tagBlock.Name);
				stream.Write(flags);
				stream.Write(tagBlock.MaxElements);
				stream.Write(tagBlock.CalculateSize(comp.OwnerState));
				stream.Write((int)0);
				stream.WritePointer(fieldsAddress);

				// procs
				stream.Write((int)0); stream.Write((int)0); stream.Write((int)0); stream.Write((int)0);

				stream.Write((int)0); // byte swap codes address
			}
Example #5
0
        // <Summary>
        // This method is used to export a DataRow object to xml.
        // </Summary>
        public string ExportDataRow(DataRow dataRow, int indent = 0)
        {
            // initial value
            string dataRowXml = "";

            // locals
            string indentString  = TextHelper.Indent(indent);
            string indentString2 = TextHelper.Indent(indent + 2);

            // If the dataRow object exists
            if (NullHelper.Exists(dataRow))
            {
                // Create a StringBuilder
                StringBuilder sb = new StringBuilder();

                // Append the indentString
                sb.Append(indentString);

                // Write the open dataRow node
                sb.Append("<DataRow>" + Environment.NewLine);

                // Write out each property

                // Write out the value for Changes

                sb.Append(indentString2);
                sb.Append("<Changes>" + dataRow.Changes + "</Changes>" + Environment.NewLine);

                // Write out the value for Delete

                sb.Append(indentString2);
                sb.Append("<Delete>" + dataRow.Delete + "</Delete>" + Environment.NewLine);

                // Write out the value for Fields

                // Create the FieldsWriter
                FieldsWriter fieldsWriter = new FieldsWriter();

                // Export the Fields collection to xml
                string dataFieldXml = fieldsWriter.ExportList(dataRow.Fields, indent + 2);
                sb.Append(dataFieldXml);
                sb.Append(Environment.NewLine);

                // Write out the value for Index

                sb.Append(indentString2);
                sb.Append("<Index>" + dataRow.Index + "</Index>" + Environment.NewLine);

                // Write out the value for ParentTable

                sb.Append(indentString2);
                sb.Append("<ParentTable>" + dataRow.ParentTable + "</ParentTable>" + Environment.NewLine);

                // Append the indentString
                sb.Append(indentString);

                // Write out the close dataRow node
                sb.Append("</DataRow>" + Environment.NewLine);

                // set the return value
                dataRowXml = sb.ToString();
            }
            // return value
            return(dataRowXml);
        }
            public override void Write(IO.EndianWriter stream)
            {
                Compiler comp = stream.Owner as Compiler;

                int flags;

                #region Block
                var  tag_block     = tagGroup.Block as Import.TagBlock;
                uint fieldsAddress = new FieldsWriter(tag_block.Fields).WriteFields(stream, comp);
                //comp.MarkLocationFixup(tag_block.Name, stream, false);

                flags = (
                    (tag_block.DontReadChildren ? 1 << 0 : 0)
                    );

                uint blockAddress = stream.PositionUnsigned;
                stream.Write(tagGroup.BlockName);
                stream.Write(flags);
                stream.Write((int)1);                 // max elements
                stream.Write(tag_block.CalculateSize(comp.OwnerState));
                stream.Write((int)0);
                stream.WritePointer(fieldsAddress);

                // procs
                stream.Write((int)0); stream.Write((int)0); stream.Write((int)0); stream.Write((int)0);

                stream.Write((int)0);                 // byte swap codes address
                #endregion

                comp.MarkLocationFixup(tagGroup.Name, stream, false);

                flags = (
                    (tagGroup.IsIncludedInTagGroupsChecksum ? 1 << 0 : 0)
                    );

                stream.Write(tagGroup.Name);
                stream.Write(flags);
                if (string.IsNullOrEmpty(tagGroup.GroupTag))
                {
                    Debug.LogFile.WriteLine("CheApe: tag_group '{0}' has a bad group-tag...check your XML?");
                }
                stream.WriteTag(tagGroup.GroupTag);
                if (tagGroup.ParentTag != null)
                {
                    if (string.IsNullOrEmpty(tagGroup.GroupTag))
                    {
                        Debug.LogFile.WriteLine("CheApe: tag_group '{0}' has a bad parent group-tag...check your XML?");
                    }
                    stream.WriteTag(tagGroup.ParentTag);
                }
                else
                {
                    stream.Write((int)-1);
                }
                stream.Write(tagGroup.Version); stream.Write((short)0);
                stream.Write((int)0);                 // post process proc
                stream.WritePointer(blockAddress);
                for (int x = 0; x < 17; x++)
                {
                    stream.Write((int)0);             // child group tags
                }
                stream.Write((int)0);                 // we don't support that shit, gtfo
                stream.Write((int)0);
            }
Example #7
0
        // <Summary>
        // This method is used to export a DataTable object to xml.
        // </Summary>
        public string ExportDataTable(DataTable dataTable, int indent = 0)
        {
            // initial value
            string dataTableXml = "";

            // locals
            string indentString  = TextHelper.Indent(indent);
            string indentString2 = TextHelper.Indent(indent + 2);

            // If the dataTable object exists
            if (NullHelper.Exists(dataTable))
            {
                // Create a StringBuilder
                StringBuilder sb = new StringBuilder();

                // Append the indentString
                sb.Append(indentString);

                // Write the open dataTable node
                sb.Append("<DataTable>" + Environment.NewLine);

                // Write out each property

                // Write out the value for Changes

                sb.Append(indentString2);
                sb.Append("<Changes>" + dataTable.Changes + "</Changes>" + Environment.NewLine);

                // Write out the value for CheckConstraints

                // Create the CheckConstraintsWriter
                CheckConstraintsWriter checkConstraintsWriter = new CheckConstraintsWriter();

                // Export the CheckConstraints collection to xml
                string checkConstraintXml = checkConstraintsWriter.ExportList(dataTable.CheckConstraints, indent + 2);
                sb.Append(checkConstraintXml);
                sb.Append(Environment.NewLine);

                // Write out the value for ClassFileName

                sb.Append(indentString2);
                sb.Append("<ClassFileName>" + dataTable.ClassFileName + "</ClassFileName>" + Environment.NewLine);

                // Write out the value for ClassName

                sb.Append(indentString2);
                sb.Append("<ClassName>" + dataTable.ClassName + "</ClassName>" + Environment.NewLine);

                // Write out the value for ConnectionString

                sb.Append(indentString2);
                sb.Append("<ConnectionString>" + dataTable.ConnectionString + "</ConnectionString>" + Environment.NewLine);

                // Write out the value for ContainsBinaryData

                sb.Append(indentString2);
                sb.Append("<ContainsBinaryData>" + dataTable.ContainsBinaryData + "</ContainsBinaryData>" + Environment.NewLine);

                // Write out the value for CreateBindingCallback

                sb.Append(indentString2);
                sb.Append("<CreateBindingCallback>" + dataTable.CreateBindingCallback + "</CreateBindingCallback>" + Environment.NewLine);

                // Write out the value for CreateCollectionClass

                sb.Append(indentString2);
                sb.Append("<CreateCollectionClass>" + dataTable.CreateCollectionClass + "</CreateCollectionClass>" + Environment.NewLine);

                // Write out the value for Exclude

                sb.Append(indentString2);
                sb.Append("<Exclude>" + dataTable.Exclude + "</Exclude>" + Environment.NewLine);

                // Write out the value for Fields

                // Create the FieldsWriter
                FieldsWriter fieldsWriter = new FieldsWriter();

                // Export the Fields collection to xml
                string dataFieldXml = fieldsWriter.ExportList(dataTable.Fields, indent + 2);
                sb.Append(dataFieldXml);
                sb.Append(Environment.NewLine);

                // Write out the value for ForeignKeys

                // Create the ForeignKeysWriter
                ForeignKeyConstraintsWriter foreignKeysWriter = new ForeignKeyConstraintsWriter();

                // Export the ForeignKeys collection to xml
                string foreignKeyConstraintXml = foreignKeysWriter.ExportList(dataTable.ForeignKeys, indent + 2);
                sb.Append(foreignKeyConstraintXml);
                sb.Append(Environment.NewLine);

                // Write out the value for HasCheckConstraints

                sb.Append(indentString2);
                sb.Append("<HasCheckConstraints>" + dataTable.HasCheckConstraints + "</HasCheckConstraints>" + Environment.NewLine);

                // Write out the value for HasIndexes

                sb.Append(indentString2);
                sb.Append("<HasIndexes>" + dataTable.HasIndexes + "</HasIndexes>" + Environment.NewLine);

                // Write out the value for HasParentDatabase

                sb.Append(indentString2);
                sb.Append("<HasParentDatabase>" + dataTable.HasParentDatabase + "</HasParentDatabase>" + Environment.NewLine);

                // Write out the value for HasPrimaryKey

                sb.Append(indentString2);
                sb.Append("<HasPrimaryKey>" + dataTable.HasPrimaryKey + "</HasPrimaryKey>" + Environment.NewLine);

                // Write out the value for HasSchemaName

                sb.Append(indentString2);
                sb.Append("<HasSchemaName>" + dataTable.HasSchemaName + "</HasSchemaName>" + Environment.NewLine);

                // Write out the value for Indexes

                // Create the IndexesWriter
                IndexesWriter indexesWriter = new IndexesWriter();

                // Export the Indexes collection to xml
                string dataIndexXml = indexesWriter.ExportList(dataTable.Indexes, indent + 2);
                sb.Append(dataIndexXml);
                sb.Append(Environment.NewLine);

                // Write out the value for IsView

                sb.Append(indentString2);
                sb.Append("<IsView>" + dataTable.IsView + "</IsView>" + Environment.NewLine);

                // Write out the value for Name

                sb.Append(indentString2);
                sb.Append("<Name>" + dataTable.Name + "</Name>" + Environment.NewLine);

                // Write out the value for ObjectNameSpaceName

                sb.Append(indentString2);
                sb.Append("<ObjectNameSpaceName>" + dataTable.ObjectNameSpaceName + "</ObjectNameSpaceName>" + Environment.NewLine);

                // Write out the value for ParentDatabase

                sb.Append(indentString2);
                sb.Append("<ParentDatabase>" + dataTable.ParentDatabase + "</ParentDatabase>" + Environment.NewLine);

                // Write out the value for PrimaryKey

                sb.Append(indentString2);
                sb.Append("<PrimaryKey>" + dataTable.PrimaryKey + "</PrimaryKey>" + Environment.NewLine);

                // Write out the value for Rows

                // Create the DataRowsWriter
                DataRowsWriter rowsWriter = new DataRowsWriter();

                // Export the Rows collection to xml
                string dataRowXml = rowsWriter.ExportList(dataTable.Rows, indent + 2);
                sb.Append(dataRowXml);
                sb.Append(Environment.NewLine);

                // Write out the value for SchemaName

                sb.Append(indentString2);
                sb.Append("<SchemaName>" + dataTable.SchemaName + "</SchemaName>" + Environment.NewLine);

                // Write out the value for Scope

                sb.Append(indentString2);
                sb.Append("<Scope>" + dataTable.Scope + "</Scope>" + Environment.NewLine);

                // Write out the value for Serializable

                sb.Append(indentString2);
                sb.Append("<Serializable>" + dataTable.Serializable + "</Serializable>" + Environment.NewLine);

                // Write out the value for SQLGenerator

                sb.Append(indentString2);
                sb.Append("<SQLGenerator>" + dataTable.SQLGenerator + "</SQLGenerator>" + Environment.NewLine);

                // Write out the value for TableId

                sb.Append(indentString2);
                sb.Append("<TableId>" + dataTable.TableId + "</TableId>" + Environment.NewLine);

                // Write out the value for XmlFileName

                sb.Append(indentString2);
                sb.Append("<XmlFileName>" + dataTable.XmlFileName + "</XmlFileName>" + Environment.NewLine);

                // Append the indentString
                sb.Append(indentString);

                // Write out the close dataTable node
                sb.Append("</DataTable>" + Environment.NewLine);

                // set the return value
                dataTableXml = sb.ToString();
            }
            // return value
            return(dataTableXml);
        }