--- /dev/null	
+++ scsolver/idl/org/openoffice/sc/solver/XLpModel.idl	
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2006 by Kohei Yoshida.
+ *    1039 Kingsway Dr., Apex, NC 27502, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+#ifndef __org_openoffice_sc_solver_XLpModel_idl__
+#define __org_openoffice_sc_solver_XLpModel_idl__
+
+#include "com/sun/star/uno/XInterface.idl"
+#include "org/openoffice/sc/solver/Goal.idl"
+#include "org/openoffice/sc/solver/Bound.idl"
+#include "org/openoffice/sc/solver/Equality.idl"
+
+module org { module openoffice { module sc { module solver
+{
+	interface XLpModel : com::sun::star::uno::XInterface
+	{
+		void print();
+
+		void setCost( [in] long id, [in] double value );
+		double getCost( [in] long id );
+
+		void setVarBound( [in] long id, [in] org::openoffice::sc::solver::Bound ebound, [in] double value );
+		double getVarBound( [in] long id, [in] org::openoffice::sc::solver::Bound ebound );
+		boolean isVarBounded( [in] long id, [in] org::openoffice::sc::solver::Bound ebound );
+
+		void setRhsValue( [in] long id, [in] double value );
+		double getRhsValue( [in] long id );
+
+		void setConstraint( [in] long RowId, [in] long ColId, [in] double value );
+		double getConstraint( [in] long RowId, [in] long ColId );
+
+		void setEquality( [in] long RowId, [in] org::openoffice::sc::solver::Equality equality );
+		org::openoffice::sc::solver::Equality getEquality( [in] long RowId );
+
+		[attribute] org::openoffice::sc::solver::Goal Goal;
+		[attribute] boolean Verbose;
+		[attribute] long Precision;
+		[attribute] boolean VarPositive;
+		[attribute] long DecisionVarSize;
+		[attribute] long ConstraintCount;
+	};
+
+}; }; }; };
+
+
+#endif
