Home | History | Annotate | Download | only in script
      1 
      2 
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //     http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 //
     15 // Copyright 2005-2010 Google, Inc.
     16 // Author: jpr (at) google.com (Jake Ratkiewicz)
     17 
     18 #include <fst/script/fst-class.h>
     19 #include <fst/script/script-impl.h>
     20 #include <fst/script/convert.h>
     21 
     22 namespace fst {
     23 namespace script {
     24 
     25 FstClass *Convert(const FstClass &ifst, const string &new_type) {
     26   ConvertInnerArgs args(ifst, new_type);
     27   ConvertArgs args_with_retval(args);
     28 
     29   Apply<Operation<ConvertArgs> >("Convert", ifst.ArcType(),
     30                                  &args_with_retval);
     31 
     32   return args_with_retval.retval;
     33 }
     34 
     35 REGISTER_FST_OPERATION(Convert, StdArc, ConvertArgs);
     36 REGISTER_FST_OPERATION(Convert, LogArc, ConvertArgs);
     37 REGISTER_FST_OPERATION(Convert, Log64Arc, ConvertArgs);
     38 
     39 }  // namespace script
     40 }  // namespace fst
     41